geom_text中的数学符号错误

时间:2017-07-02 23:04:30

标签: r math ggplot2

在文本中插入数学符号不应该太复杂我想到了!

其他,甚至看起来类似的例子 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欧米茄

1 个答案:

答案 0 :(得分:7)

geom_textparse = 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")))