这个问题是对这里提出的问题的答案的扩展: Median and quartile on violin plots in ggplot2 。
该解决方案效果很好,但是在使用诸如 fill='foo' 之类的选项时,如何扩展它以同时考虑 fiddle 图的位置
例子:
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')
此处的汇总统计数据混杂,因为它没有考虑由于填充星体映射造成的位移。
这可以解决吗?
提前 - 谢谢!
最佳答案
您应该将 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))
关于r - ggplot2 中高级 fiddle 图的中位数和四分位数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19402826/