在文本中插入数学符号不应该太复杂我想到了!
其他,甚至看起来类似的例子 ggplot2 facet_wrap with mathematical expression我仍然无法在geom_text
中插入Ω(Omega)符号!
假设您有基本的散点图,并且想要将(Omega)数学符号的平均值添加到每个方面,
mean.Petal <- aggregate(iris["Petal.Width"], iris["Species"], mean)
Species Petal.Width
1 setosa 0.246
2 versicolor 1.326
3 virginica 2.026
ggplot(iris) +
geom_point(aes(y=Sepal.Length,x=Sepal.Width ,col=factor(Species))) +
facet_wrap(~ Species)+
geom_text(data = mean.Petal, parse = TRUE,
aes(x = 4.5, y = 7, label=sprintf('mean_Petal=%.2f %s',
round(Petal.Width,digits=2),'Omega')))
解析时出错(text = as.character(lab)):: 1:17:意外 符号1:mean_Petal = 0.25欧米茄
另一次尝试
geom_text(data = mean.Petal, parse = TRUE,
aes(x = 4.5, y = 7, label=paste('mean_Petal=',
round(Petal.Width,digits=2),expression(Omega),sep=' ')))
解析时出错(text = as.character(lab)):: 1:18:意外 符号1:mean_Petal = 0.25欧米茄
答案 0 :(得分:7)
将geom_text
与parse = TRUE
一起使用时,您希望将与plotmath
表达式对应的字符串放在一起,以便执行以下操作:
ggplot(iris) +
geom_point(aes(y=Sepal.Length,x=Sepal.Width ,col=factor(Species))) +
facet_wrap(~ Species)+
geom_text(data = mean.Petal, parse = TRUE,
aes(x = 3, y = 7,
label=paste("'Mean petal' ==", round(Petal.Width, digits=2), "* Omega")))