使用facet_grid时在ggplot2中指定自定义错误栏

时间:2013-04-22 18:07:12

标签: r ggplot2

我使用stat_summary从我的数据创建了多个条形图。但是,我想手动指定错误栏的限制(而不是使用mean_cl_boot)。如何使用facet_grid

绘制数据

我用来创建图表的代码如下:

graph <- ggplot(slantclean, aes(x = View,value, fill = Texture))

graph + stat_summary(fun.y = mean, geom = "bar", position = "dodge") + 
     stat_summary(fun.data = mean_cl_boot, geom = "pointrange", 
                     position = position_dodge(width = 0.90)) + 
     labs(x = "View", y = "Vertical height of ellipse (cm)", fill = "Texture") + 
     facet_grid( Shape ~ TNOGroup)

不幸的是,数据的复杂性意味着最小的例子是不可能的。可以访问数据框here。情节的一个例子是here

1 个答案:

答案 0 :(得分:8)

您可以定义自己在stat_summary()中使用的功能。如果您在geom="pointrange"中使用stat_summary(),则您的函数应在一个数据框中提供yyminymax值。

以下是使函数my.fun计算最小值,最大值和平均值的示例。在stat_summary()中使用时,将为您数据中的每个级别计算此值。

my.fun<-function(x){data.frame(ymin=min(x),ymax=max(x),y=mean(x))}

graph <- ggplot(slantclean, aes(x = View,value, fill = Texture))

graph + stat_summary(fun.y = mean, geom = "bar", position = "dodge") + 
  stat_summary(fun.data = my.fun, geom = "pointrange", position = position_dodge(width = 0.90)) + 
  labs(x = "View", y = "Vertical height of ellipse (cm)", fill = "Texture") + 
  facet_grid( Shape ~ TNOGroup)

enter image description here