我将尝试使用ggplot2创建一个带误差条的堆积条形图,类似于下面的图表:
我已经使用了以下代码:
这给了我这个:
看起来误差条的中心在平均值的位置,而不是在之前底物的平均值加上当前底物的平均值的位置。也就是说,误差条a的中心应该在a的平均值处,误差条b的中心应该在a的平均值加上b的平均值处,依此类推。
有没有人知道如何在ggplot2中实现这一点?
*我意识到有很好的理论原因不要以这种方式显示数据 - 但我们并不总能决定如何呈现我们的数据!
![Plot I'm trying to replicate](https://istack.dev59.com/Lrd93.webp)
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))
这给了我这个:
![enter image description here](https://istack.dev59.com/HdUEl.webp)
有没有人知道如何在ggplot2中实现这一点?
*我意识到有很好的理论原因不要以这种方式显示数据 - 但我们并不总能决定如何呈现我们的数据!