gg plot错误条定位

时间:2013-10-15 01:39:36

标签: r ggplot2

我正在尝试在每个条形图上方创建误差条,但是我有三组条形图和6条形图并且它相对于每个组定位误差条,但我想要定位每个错误每个酒吧上方的酒吧。这是我的数据:

NewData

Group Session HeartRate StdError  n        sd

1 Novices     one  71.89276 1.821146 29  9.807170
2 Experts     one  66.40705 1.923901 26  9.810008
3 Novices     two  71.38609 1.571261 29  8.011889
4 Experts     two  67.79910 1.788151 26  9.117818
5 Novices   three  71.79759 1.941730 29 10.456534
6 Experts   three  67.04564 1.938620 26  9.885061

这是我的代码:

plot_2 = ggplot(NewData, aes(x=Session, y=HeartRate, fill=Group)) +
     theme_bw() +
     geom_bar(position="dodge",stat="identity")+
     scale_x_discrete(limits=c("one","two","three")) +
     coord_cartesian(ylim = c(50, 80)) +
     geom_errorbar(aes(ymin=HeartRate-StdError,ymax=HeartRate+StdError),position="dodge",width=.25)

这是输出:http://i.imgur.com/BrLB6Px.png

任何帮助将不胜感激。谢谢!

好的 - 我找到了一个解决方案,不确定它是如何工作或为什么工作,但这是我的新代码:

dodge <- position_dodge(width=0.9)
plot_2 = ggplot(NewData, aes(x=Session, y=HeartRate, fill=Group)) +
         geom_bar(position=dodge)+
         scale_x_discrete(limits=c("one","two","three")) +
         coord_cartesian(ylim = c(50, 80)) +
         geom_errorbar(aes(ymin=HeartRate-StdError,ymax=HeartRate+StdError),position=dodge,width=.25)

这是理想的结果:http://i.imgur.com/PodCeh5.png

1 个答案:

答案 0 :(得分:0)

很难说你希望看到什么是输出,但从我收集的内容来看,也许这会做你想要的?

geom_errorbar(aes(ymin=HeartRate,ymax=HeartRate+StdError*2),position="dodge",width=.25)

如果要沿x轴移动误差条,我们需要修改position = dodge。我没有看到太多的文档,但你可能会尝试类似......

geom_errorbar(aes(ymin=HeartRate-StdError,ymax=HeartRate+StdError),position=group-10,width=.25)

    geom_errorbar(aes(ymin=HeartRate-StdError,ymax=HeartRate+StdError),position=Session-10,width=.25)

或者(很可能?)这个:

        geom_errorbar(aes(ymin=HeartRate-StdError,ymax=HeartRate+StdError),position=x-10,width=.25)
相关问题