简短版本:我如何使这个人为的代码绘制一个正确的希腊beta字符和标签字符串的其余部分,空格和小于字符以及格式化为类型的数字?
library("ggplot2")
df<-data.frame(a=1:15,b=6:20)
ggplot(data=df, aes(x=a,y=b)) + geom_point() +
geom_text(x=5,y=4,label="beta=1.00 p<0.0001", parse=TRUE)
如果我省略“,parse = TRUE”参数,字符串效果很好,但不会给我一个真正的希腊测试版。如果我把它放进去,一切都会崩溃。
长版本(以及为什么我找不到重复版本):我终于在How to use Greek symbols in ggplot2?中发现在ggplot上放置希腊字符的方法取决于你放置的位置他们。由于我使用geom_text强制文本字符串到绘图的主体上,我尝试使用表达式(beta)失败了,我最近开始使用上面提到的parse参数。我遇到了How can I add alpha-numeric AND greek characters to geom_text() in ggplot?,我认为这是我的答案,但修复“空格”导致额外的括号弹出,“=”被逗号替换,并且丢失了我以前格式化的所有文本数字的格式。
指向使用解析参数的指南的链接,以及如何理解我认为完全不直观的内容对我来说非常有帮助,可能未来的R用户最终会在这里结束。许多搜索都没有结果。
答案 0 :(得分:8)
这应该这样做:
g <- ggplot(data=df, aes(x=a,y=b)) + geom_point()
g + annotate("text", x=5,y=4,parse=TRUE, label="beta==1.00 * ' p<0.0001'")
这是将标签用单引号拆分到空白一侧并将两个标签位与*
连接的问题。您还需要==
等于。