R条形图仅在一个导管上带有扩展条

时间:2015-03-06 10:29:53

标签: r ggplot2

对于一张简单的海报,我正在执行Bonferroni的同时置信区间。这个想法是绘制一些配对的条形图,比较观察到的资源使用比例与可用性比例。间隔是围绕观察到的使用比例建立的,在Beyers(1984)中规定了两个置信限,我们检查该资源的可用性比例是否超出该区间。

我正在使用ggplot2在followind数据集上附上此电子邮件的条形图

Habitat  Proportion Observed     Spread
1      Arb 0.021199538        0 0.00000000
2      Fal 0.136256847        0 0.00000000
3     Hous 0.024344596        0 0.00000000
4      Hed 0.039585680        0 0.00000000
5      Mai 0.068501710        0 0.00000000
6     Mead 0.201232223        0 0.00000000
7      Oli 0.069389894        0 0.00000000
8      Plo 0.059880215        0 0.00000000
9      Rip 0.017000466        0 0.00000000
10     Vin 0.294760687        0 0.00000000
11     Whe 0.061840074        0 0.00000000
12    Wood 0.006008069        0 0.00000000
13     Arb 0.047846890        1 0.04237298
14     Fal 0.248803828        1 0.08582503
15    Hous 0.023923445        1 0.03033630
16     Hed 0.019138756        1 0.02720003
17     Mai 0.105263158        1 0.06092487
18    Mead 0.119617225        1 0.06442307
19     Oli 0.062200957        1 0.04794708
20     Plo 0.038277512        1 0.03808952
21     Rip 0.023923445        1 0.03033630
22     Vin 0.291866029        1 0.09025229
23     Whe 0.004784689        1 0.01369917
24    Wood 0.014354067        1 0.02361330

变量是栖息地(Habitat)之间的分类划分,包含比例的列(比例),指定哪些比例是观察到的(1)以及哪些是可用性(0)的虚拟和一个值。酒吧的传播。它们不是错误条,但ggplot适合创建它们。

我用这段代码创建了剧情:

ggplot (hist.df, aes(x=Habitat, y=Proportion,fill=factor(Observed)))+geom_bar(stat="identity", position=position_dodge())+ geom_errorbar(aes(ymin=Proportion-Spread, ymax=Proportion+Spread), width=0.2)+labs(x="Habitat", y="", title="Bonferroni's simultaneous confidence intervals")+ scale_fill_manual(values=c("#33CC66", "#FF3366"), name="",labels=c("Expected", "Observed"))  

我在可用性比例的分布上指定了零值,但正如您在条形图中看到的那样,绿色条顶部仍然有一条可怕的小线。此外,我希望在绿色条形图的中间放置展开条,而不是在不同类别之间。

1 个答案:

答案 0 :(得分:0)

以下将hist.df $ Spread中的零置为NA。

此外,您需要设置" position = position_dodge(width = 0.9)"把酒吧放在中间。

hist.df[c(1:12),4]<-NA

ggplot (hist.df, aes(x=Habitat, y=Proportion,fill=factor(Observed)))+geom_bar(stat="identity", position=position_dodge())+ geom_errorbar(aes(ymin=Proportion-Spread, ymax=Proportion+Spread), width=0.2, position=position_dodge(width=0.9))+labs(x="Habitat", y="", title="Bonferroni's simultaneous confidence intervals")+ scale_fill_manual(values=c("#33CC66", "#FF3366"), name="",labels=c("Expected", "Observed"))  

enter image description here