解析geom_text中的表达式:字符,数字和特殊字符

时间:2013-03-26 12:49:57

标签: r ggplot2

我的问题

我想注释ggplot()的每个方面,其表达式是统计测试产生的值的组合。 我无法在geom_text()内解析字符串。

部分涵盖类似问题here。不幸的是,我无法应用那个具体的例子。

我的目标

解析表达式将数字,字符和特殊字符组合在一起。在这种情况下,下面的例子是lab2。

示例

p <- ggplot(mtcars, aes(mpg, wt)) + geom_point()

custom_label <- data.frame(cyl = c(4,6,8),
                           wt = c(5,5,5),
                           lab = c('X^2','X^2','X^2'),
                           lab2 = c('X^2: 18.5342, p =3e-04',
                                   'X^2: 4.7512, p =0.1909',
                                   'X^2: 15.3266, p =0.0016'))
p + facet_grid(. ~ cyl) +
  geom_text(data = custom_label, aes(x=30, y=wt, label = lab2), size = 3, parse = T)

使用custom_label $ lab时效果很好但是却没有使用lab2。

我很感激任何帮助。如果我明确表达我的问题,请告诉我。

提前致谢。

1 个答案:

答案 0 :(得分:2)

实际上,我认为你没有得到真正的chi-squared,而是得到X^2。这可能没问题,因为卡方变量的样本估计通常标记为X ^ 2,但如果您需要chi,则需要使用chi(或Chi作为资本 - 希腊智能看起来很像“X”。您需要使用双引号并使用适当的plotmath~分隔符构建为*表达式:

                      lab2 = c("chi^2*':'~18.5*', p =3e-04'",
                               "chi^2*':'~4.7*', p =0.1909'",
                               "chi^2*':'~15.3*', p =0.0016'")

运行plotmath的示例和演示:

?plotmath
demo(plotmath)