2017-12-10 2 views
4

ggplotを使用して軸ラベルを動的に変更したい。以下のコードは私がやりたいことの簡単なバージョンです。 y軸に度記号が正しく表示されます。コメントアウトされたyabのコード行は、私がやりたいことですが失敗します。私はplotmathコードを作成し、それを変数(例えばyLabel)に代入し、ggplotで解釈させたいと思います。r ggplot plotmath式を動的に使用する

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

上記を参照してください。@JerryN –

関連する問題