2015-02-23 104 views
1

简短版本:我将如何使这个人造代码绘图成为一个适当的希腊公测字符和标签字符串的其余部分,小于字符和数字格式的数字?通过geom_text将小于符号“<”添加到ggplot中R

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) 

如果我离开了“解析= TRUE”的说法,该字符串的伟大工程,但不会给我一个真实的希腊公测。如果我放下它,所有的地狱都会崩溃。


加长版(为什么我找不到一式两份):我终于在How to use Greek symbols in ggplot2?发现,放置希腊字符在ggplot方法取决于你把在那里他们。由于我使用geom_text强制将文本字符串放到图的主体上,所以我尝试使用表达式(测试版)失败,最近我开始使用上面提到的parse参数。我遇到了How can I add alpha-numeric AND greek characters to geom_text() in ggplot?,我认为这是我的答案,但修复“空间”导致出现额外的括号,“=”替换为逗号,并且失去了我以前格式化的所有文本数字的格式。

使用parse参数的指南的链接,以及如何理解对我来说似乎是完全不直观的东西对我来说是非常有用的,并且可能对未来的R用户有用。许多搜索都没有结果。

回答

6

这应做到:

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'") 

它的单引号标签分裂到空白的侧面,并与*连接两个标记位的问题。您还需要==等于。

enter image description here

+0

了不起的信息!谢谢!从我的实验中得到两个补充:'1.00'周围的单引号允许我保留我的sigfigs。而且我注意到这对annotate()和geom_text()都有效,其他答案提出了使用annotate()来满足这个特定需求的原因。有关此语法指南的任何建议?我现在可以让这个例子工作,但仍然不明白它可能出现的未来需求。 – mightypile 2015-02-24 02:38:45

+1

不确定关于语法的权威性指南 - 但是这种绘图帮助文件对于学习使用什么语法很有用:https://stat.ethz.ch/R-manual/R-devel/library/grDevices/html/plotmath.html – jalapic 2015-02-24 02:50:03

相关问题