使用ggplot2在barplot中放置错误条 [英] Placement of error bars in barplot using ggplot2

查看:559
本文介绍了使用ggplot2在barplot中放置错误条的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好,我在RStudio中使用ggplot版本0.9.3.2,我正在尝试使用错误栏制作条形图。问题是错误栏位置错误。我需要他们去个别酒吧。



我有这样的数据框

 浓度变量值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

我有以下代码:
$ b $ pre $ dodge = position_dodge(width = 0.9)
c = ggplot(data = dm,aes (y =值,x =浓度))
c + geom_bar(position = dodge,
stat =identity,
aes(fill = variable,color = variable,group = variable,color =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))

,并且给我这个图,这很明显是

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

解决方案

您应该在 ggplot()调用中移动参数 fill = variable ,以确保 geom_errorbar()也使用变量作为躲避变量。

  ggplot(data = dm,aes(y = value,x = concentration,fill = variable))+ 
geom_bar(position = position_dodge(),
stat =identity)+
geom_errorbar(ae s(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))


Hi i am using ggplot version 0.9.3.2 in RStudio and I am trying to make a bar plot with error bars. The problem is that the error bars are positioned wrong. I need them to go on top of the individual bars.

I have a data frame like this

   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

I have the following code

    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"))

, and gives me this plot, which is clearly

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

解决方案

You should move the argument fill=variable inside the ggplot() call to ensure that geom_errorbar() also use variable as the dodging 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"))

这篇关于使用ggplot2在barplot中放置错误条的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆