R ggplot2中高级小提琴图的中位数和四分位数

R ggplot2中高级小提琴图的中位数和四分位数,r,ggplot2,R,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(d

这个问题是对这里提出的问题的回答的延伸:

这个解决方案工作得很好,但是当使用诸如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')
require(ggplot2)

median.quartile您应该将
position=position\u dodge(width=0.9)
添加到
stat\u 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))

您是如何知道使用0.9的?@nstjhp当两组被geom_小提琴()的填充闪避时,它似乎是默认值-通过尝试找到它。