ggplot2没有在条形图上绘制第二个因子

时间:2016-08-12 23:34:21

标签: r graph ggplot2

这是我用来创建表格的代码:

    cmv2<-ddply(cmv, c("treatment", "year"), summarise,
    mean.num.rattles=mean(plant.tot.rat, na.rm=TRUE),
    sd=sd(plant.tot.rat, na.rm=TRUE),
    n=sum(!is.na(plant.tot.rat)),
    se=sd/sqrt(n))

这产生了一个像我想要的表:

    treatment year mean.num.rattles        sd  n        se
1     control 2014         978.5833  727.5570 12 210.02763
2     control 2015        1373.8500 1124.5589 12 324.63219
3  early-high 2014         906.8364  600.2020 11 180.96772
4  early-high 2015         615.7455  373.9880 11 112.76161
5   early-low 2014         655.8500  472.1869 12 136.30863
6   early-low 2015         770.5000  647.2640 10 204.68284
7   late-high 2014         218.4923  260.0087 13  72.11344
8   late-high 2015         865.5833 1317.3728 12 380.29278
9    late-low 2014         461.6667  509.2678 12 147.01296
10   late-low 2015         513.1800  475.1837 10 150.26630

但是,当我尝试通过ggplot代码申请时:

    p<-ggplot(cmv2, aes(x=treatment,y=mean.num.rattles, fill=year))+ 
    geom_bar(stat="identity",fill="white", colour="black", position="dodge")

我得到的图像看起来像这样:

enter image description here

你知道我的代码出错了吗?

1 个答案:

答案 0 :(得分:0)

谢谢Sumedh!此代码最终通过删除不相关的fill =&#34; white&#34;和颜色=&#34;黑色&#34;在代码中。此外,在代码中添加因子(年份)非常重要。

    ggplot(cmv2, aes(x=treatment,y=mean.num.rattles, fill=factor(year)))+ geom_bar(stat="identity",position="dodge")