R ggplot2:Add表示箱线图中的水平线

时间:2016-10-19 15:06:44

标签: r ggplot2 boxplot

我使用ggplot2创建了一个boxplot:

library(ggplot2)

dat <- data.frame(study = c(rep('a',50),rep('b',50)), 
                  FPKM = c(rnorm(1:50),rnorm(1:50)))

ggplot(dat, aes(x = study, y = FPKM)) + geom_boxplot()

箱线图将中位数显示为每个方框的水平线。

enter image description here

如何在表示该组平均值的方框中添加虚线?

谢谢!

1 个答案:

答案 0 :(得分:16)

您可以使用stat_summarygeom_errorbar将水平线添加到绘图中。该行是水平的,因为y最小值和最大值设置为与y相同。

ggplot(dat, aes(x = study, y = FPKM)) + 
    geom_boxplot() +
    stat_summary(fun.y = mean, geom = "errorbar", aes(ymax = ..y.., ymin = ..y..),
                 width = .75, linetype = "dashed")

enter image description here