我正在尝试使用 ggplot2 创建带有 errorbars* 的堆叠条形图,类似于下图:
我使用了以下代码:
df <- data.frame(substrate = gl(6, 2, 12, labels=letters[1:6]),
depth = gl(2, 1, 12, labels=c("surf", "deep")),
mean = 10 * runif(12),
err = runif(12))
p <- ggplot(df, aes(x=depth, y=mean, fill=substrate)) + geom_bar(stat="identity") + coord_flip()
p + geom_errorbar(aes(x=depth, ymin=mean-err, ymax=mean+err))
这给了我这个:
它看起来像平均值位置的误差条中心,而不是平均值 +“先前”基板的平均值。也就是说,误差条 a 的中心应该在 a 的平均值处,误差条 b 的中心应该在平均值 a + 平均值 b 处,等等。
有谁知道如何在 ggplot2 中实现这一点?
*我意识到不以这种方式显示数据有很好的理论理由 - 但我们并不总是自己决定如何呈现我们的数据!