使用ggplot2在条形图中放置误差线

jen*_*rda 7 r ggplot2

嗨,我在RStudio中使用ggplot版本0.9.3.2,我正在尝试使用错误栏制作条形图.问题是错误栏位置错误.我需要他们在各个酒吧之上.

我有这样的数据框

   concentration variable     value          sd
1              0     AF_B 0.3567126 0.010391001
2           0.5x     AF_B 0.3355766 0.003480245
3             1x     AF_B 0.3001138 0.009104821
4             5x     AF_B 0.2658911 0.016312390
5            10x     AF_B 0.2115522 0.011056590
6           100x     AF_B 0.2655958 0.015092367
7              0      D_B 0.3567126 0.010391001
8           0.5x      D_B 0.3453078 0.011639252
9             1x      D_B 0.3380180 0.004357810
10            5x      D_B 0.3349004 0.018119644
11           10x      D_B 0.3186451 0.014515436
12          100x      D_B 0.3174700 0.016685932
Run Code Online (Sandbox Code Playgroud)

我有以下代码

    dodge = position_dodge(width=0.9)
    c = ggplot(data=dm, aes(y=value,x=concentration))
    c + geom_bar(position = dodge, 
         stat="identity",
         aes(fill=variable,colour=variable,group=variable, colour="black")) +
    geom_errorbar(aes(ymin=value-sd,ymax=value+sd),
          position=dodge,
          width=0.1,
          size=0.3) +
    ylab("mu_max [h-1]") +
    scale_x_discrete(limits=c("0","0.5x","1x","5x","10x","100x"))
Run Code Online (Sandbox Code Playgroud)

,并给我这个情节,这是显而易见的

http://i.imgur.com/1zwbxMv.png

Did*_*rts 9

您应该fill=variableggplot()调用中移动参数以确保geom_errorbar()variable用作躲避变量.

ggplot(data=dm,aes(y=value,x=concentration,fill=variable))+
  geom_bar(position = position_dodge(), 
           stat="identity") +
  geom_errorbar(aes(ymin=value-sd,ymax=value+sd),
                position=dodge,width=0.1,size=0.3)+
  ylab("mu_max [h-1]") +
  scale_x_discrete(limits=c("0","0.5x","1x","5x","10x","100x"))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述