使用facet_grid当GGPLOT2指定自定义错误条(Specifying custom err

2019-08-31 19:28发布

我从数据创建多个条形图,使用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)

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

Answer 1:

您可以定义自己的函数中使用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)



文章来源: Specifying custom error bars in ggplot2 when using facet_grid
标签: r ggplot2