R/ggplot2: 在 parse() 上使用文字字符串

R/ggplot2: use literal strings on parse()

我传递给parse(text=...)的字符串的一部分可以作为文字字符串吗?文字字符串意味着它不会尝试解释它。

例如,我想在绘图中显示文本“p-value”(p 为斜体)。

我在做:

library(ggplot2)
ggplot(data.frame(x=rnorm(500)), aes(x)) + geom_histogram() + geom_text(label='italic(p)-value==0.10', parse=TRUE, x=-2, y=40)

结果:

连字符的填充有点太多而且太大(因为它把它当作减法符号),它没有以我使用的完全精度显示数字。

我可以告诉他按原样拿走那个字符串的一部分吗?

这个怎么样:

ggplot(data.frame(x=rnorm(500)), aes(x)) + 
    geom_histogram() + 
    annotate("text", label='italic(p)*"-value"=="0.15"', parse=TRUE, x=-2, y=40)

这里我们使用双引号来指定字符值,并使用 * 将它们放在表达式的旁边。

另请注意 annotate() 而不是 geom_text()。后者将在同一位置打印出 500 个标签,因为它与您在 ggplot 调用中指定的数据相关联。

有了set.seed(15),我得到