3

这个问题是对这里提出的问题的答案的扩展:ggplot2 中小提琴图的中位数和四分位数

该解决方案效果很好,但是在使用诸如 fill='foo' 之类的选项时,如何扩展它以同时考虑小提琴图的位置

例子:

require(ggplot2)

median.quartile <- function(x){
  out <- quantile(x, probs = c(0.25,0.5,0.75))
  names(out) <- c("ymin","y","ymax")
  return(out) 
}

ggplot(data=mtcars,aes(x=factor(cyl),y=drat, fill=factor(am)))+
    geom_violin() +
    stat_summary(fun.y=median.quartile,geom='point')

带摘要的小提琴情节

在这里,汇总统计数据混杂在一起,因为它没有考虑填充星形映射引起的位移。

这可以解决吗?

提前 - 谢谢!

4

1 回答 1

5

您应该添加position = position_dodge(width = 0.9)stat_summary()确保根据填充值躲避点。

ggplot(data=mtcars,aes(x=factor(cyl),y=drat, fill=factor(am)))+
  geom_violin() +
  stat_summary(fun.y=median.quartile,geom='point',
               position = position_dodge(width = 0.9))

在此处输入图像描述

于 2013-10-16T13:14:51.830 回答