ggplot2:使用stat_summary()时绘制条形图

时间:2013-06-12 14:27:57

标签: r plot ggplot2 histogram

这是我当前的脚本和输出:

ggplot(data.and.factors.prov,aes(x=assumptions,y=FP,
                       colour=factor(Design.Complexity))) +
       stat_summary(fun.data=mean_cl_normal,position=position_dodge(width=0.5)) +
       geom_blank() + scale_colour_manual(values=1:7,name='Design Complexity') + 
       coord_flip()

enter image description here

如何(水平)条形(从FP = 0开始到结束点位置)而不是点?(我不想丢失误差条)

我想给你我的data.and.factors.prov data.table,但它太大了,无法发布!如果您需要一个可重复的示例,请告诉我如何为您提供数据集?!

1 个答案:

答案 0 :(得分:9)

stat_summary()默认geom为"pointrange"。要获得条形和错误条,一个解决方案是使用两个stat_summary()调用 - 一个用于生成错误栏,第二个用于计算平均值和绘图条。您还需要将width=)和position_dodge(内的fill=调整为与colour=相同的因子,以更改条形码的填充。

以下是mtcars数据的示例。

ggplot(mtcars,aes(x=factor(cyl),y=mpg,colour=factor(gear),fill=factor(gear))) +  
  stat_summary(fun.data=mean_cl_normal,position=position_dodge(0.95),geom="errorbar") + 
  stat_summary(fun.y=mean,position=position_dodge(width=0.95),geom="bar")+
  coord_flip()

enter image description here