2017-12-10 10 views
4

ggplot을 사용하여 축 레이블을 동적으로 변경하고 싶습니다. 아래 코드는 내가하고 싶은 간단한 버전입니다. y 축에 각도 기호가 올바르게 표시됩니다. 주석 처리 된 코드 줄은 내가하고 싶지만 실패한 것입니다. plotmath 코드를 만들어 변수 (예 : yLabel)에 할당 한 다음 ggplot에서 해석하도록하고 싶습니다.r ggplot plotmath expressions을 동적으로 사용하십시오.

library(data.table) 
library(ggplot2) 

DT <- data.table(timeStamp=c(1:12), ColN1=runif(12, 0, 10)) 
DT.long <- data.table::melt(
    DT, id.vars = c("timeStamp")) 

yLabel <- "Temperature~(~degree~F)" 
yLabel1 <- expression("Temperature~(~degree~F)") 

p <- ggplot(data = DT.long, aes(x = timeStamp, y = value)) + 
    xlab("Time") + 
    # ylab(expression(paste("Value is ", yLabel,","))) + 
# ylab(yLabel) + 
# ylab(yLabel1) + 
    ylab(Temperature~(~degree~F)) + 

    scale_y_continuous() + 
    theme_bw() + 
    geom_line() 
print(p) 

답변

2

사용 bquote 다음

동적 구성 요소가

temp <- 12 

ylab(bquote(Temperature ~is ~ .(temp) ~(degree~F))) 

를 사용하여 레이블을 할당하거나

아래에 추가 질문을 해결하는 것입니다
+0

트릭을 수행하지 않습니다. 나는 "Temperature is ..."를 변수 (예를 들어 V)에 할당하고 ylab (V)를 사용하려고합니다. 나는 ylab (bquote (.V))를 시도했는데, 작동하지 않았다. – JerryN

+0

see the @jerryN –