根据条件为geom_text中的文本添加颜色

时间:2015-07-17 08:29:56

标签: r text colors ggplot2

我正在制作一个图,其中使用geom_text将p值绘制为文本。 pval在文件pvaluesmir21combined中给出。

如果值为<我想为文本(FDR)添加红色。 5E-02。知道如何做到这一点?

ggplot(TumorNormalmiR21_5p.m3, aes(X2,value)) + 
  geom_dotplot(aes(fill=variable),binaxis = "y") + coord_flip() +
  theme_bw(base_size=8) +
  theme(axis.text.y=element_text(hjust = 0)) +
  geom_text(aes(x, y, label=FDR, group=NULL),data=pvaluesmir21combined,size=2)


> pvaluesmir21combined

           FDR  x  y
1  p = 8.3e-02  1 13
2  p = 6.3e-05  2 13
3  p = 3.2e-17  3 13
4  p = 4.8e-22  4 13
5  p = 3.1e-10  5 13
6  p = 6.7e-11  6 13
7  p = 3.2e-24  7 13
8  p = 2.1e-06  8 13
9  p = 1.9e-02  9 13
10 p = 9.4e-06 10 13
11 p = 1.5e-03 11 13

2 个答案:

答案 0 :(得分:1)

您可以尝试使用b1 b2 b3 O X X X O X X X O

功能
scale_color_manual

请参阅此链接http://docs.ggplot2.org/0.9.3.1/scale_manual.html

答案 1 :(得分:0)

我只是想添加另一种替代解决方案,我发现在p值显着(<5.0e-02)的情况下添加**是有用的。唯一的问题是您需要了解您正在使用的x,y坐标。 这就像是

geom_text(data = pvaluesmir21combined, aes(label = ifelse(as.numeric(sub("p = ", "", FDR)) < 5e-02, "**", " ")), color = "red" ) +