Ggplot2の凡例で添え字を使用できますか?伝説や他の場所のギリシャ文字に この質問 がありますが、それをどのように適応させるかがわかりません。
軸ラベルで機能するexpression()
を使用するとうまくいくと思いました。しかし、以下の私の試みは失敗します。ありがとう!
library(ggplot2)
temp <- data.frame(a = rep(1:4, each = 100), b = rnorm(4 * 100), c = 1 + rnorm(4 * 100))
names(temp)[2:3] <- c("expression(b[1])", "expression(c[1])")
temp.m <- melt(temp, id.vars = "a")
ggplot(temp.m, aes(x = value, linetype = variable)) + geom_density() + facet_wrap(~ a)
以下が機能するはずです(names(temp) <-
...で行を削除してください):
_ggplot(temp.m, aes(x = value, linetype = variable)) +
geom_density() + facet_wrap(~ a) +
scale_linetype_discrete(breaks=levels(temp.m$variable),
labels=c(expression(b[1]), expression(c[1])))
_
利用可能なカスタマイズについては、help(scale_linetype_discrete)
を参照してください(例:_name=
_による凡例のタイトル)。
ギリシャ文字などを主要な目盛りラベルに組み込みたい場合は、未評価の 式 を使用してください。
棒グラフの場合、次のことを行いました。
library(ggplot2)
data <- data.frame(names=tolower(LETTERS[1:4]),mean_p=runif(4))
p <- ggplot(data,aes(x=names,y=mean_p))
p <- p + geom_bar(colour="black",fill="white")
p <- p + xlab("expressions") + scale_y_continuous(expression(paste("Wacky Data")))
p <- p + scale_x_discrete(labels=c(a=expression(paste(Delta^2)),
b=expression(paste(q^n)),
c=expression(log(z)),
d=expression(paste(omega / (x + 13)^2))))
p