在ggplot中着色统计上显着的条形图

时间:2017-04-17 13:25:47

标签: r ggplot2

通常在出版物中,通过将*放在栏上方来显示统计上显着的差异。我的情节中有很多条形图,我希望通过不同的颜色来制作与众不同的重要条形图。

例如: 这是数据集

some_data = data.frame(name = sample(LETTERS, 5), 
                       value = rnorm(5, 5, 7), 
                       pvalue = rnorm(5, 0.05, 0.02))

> some_data
  name      value     pvalue
1    Q  8.8101784 0.01691628
2    Z  5.9426036 0.10228445
3    U  1.4862314 0.02062453
4    K -0.1365665 0.04405621
5    N  8.8828848 0.05992229

ggplot(some_data, aes(name, value)) + 
  geom_bar(stat = "identity") +
  geom_text(aes(label=pvalue), position=position_dodge(width=0.9), vjust=-0.25)

如果p值小于0.05

,我想要的是使条不同颜色

enter image description here

1 个答案:

答案 0 :(得分:2)

ggplot美学让你评估R代码,它允许你做这样的事情:

ggplot(some_data, aes(x = name, y = value, fill = pvalue < 0.05)) + 
  geom_col() +
  geom_text(aes(label=pvalue), position=position_dodge(width=0.9), vjust=-0.25)

编辑:根据Axeman的评论使用geom_col代替geom_bar(stat = 'identity')