在条形图上水平居中误差条(geom_errorbar)(geom_bar)

时间:2013-04-01 15:45:45

标签: r ggplot2

如何将误差线定位在适当颜色的条的中心?

df1 <- data.frame(
  supp = c("OJ","OJ","OJ","VC","VC","VC"),
  dose = c(0.5,1,2,0.5,1,2),
  len = c(13.23,22.7,26.06,7.98,16.77,26.14),
  se = c(1.41,1.27,0.84,0.87,0.8,1.52)
)

df1$dose <- factor(df1$dose)
ggplot(df1, aes(x=dose, y=len, fill=supp)) +      
geom_bar(stat="identity", position=position_dodge()) +  
scale_fill_manual(name = "", values = c("deepskyblue1", "green")) +
geom_errorbar(data = df1[1:3,], aes(ymin=len-se, ymax=len+se), width=.4, colour=c("deepskyblue1"), position=position_dodge(.9)) +
geom_errorbar(data = df1[4:6,], aes(ymin=len-se, ymax=len+se), width=.4, colour=c("green"), position=position_dodge(.9))

1 个答案:

答案 0 :(得分:13)

由于错误条的数据位于同一数据框中,条形数据不需要在data=中提供参数geom_errorbar(),也不需要调用{{1两次。

您应该在geom_errorbar()中提供geom_errorbar() yminymax个值,aes()中的color=supp也会确保错误条为彩色根据{{​​1}}值。要获得与条形图相同的颜色,请添加具有相同颜色名称的aes()。使用参数supp,您可以在条形图的中心获取错误栏。

scale_color_manual()

enter image description here

相关问题