箱线图叠加在点图 + 均值上,均值在错误的位置

Boxplot overlaid on dot plot + means, means in wrong position

使用 Overdraw mean points in grouped boxplot with ggplot2 中给出的建议我试过了

FEV <- expand.grid(sex=c('female', 'male'), smoke=c('no', 'yes'),
                   reps=1:5)
set.seed(1)
FEV$fev <- runif(nrow(FEV), 1, 4)
ggplot(FEV, aes(x=smoke, y=fev, color=sex)) +
  geom_boxplot(alpha=.5, width=.2) + # remove width to overlay boxes on pts
  stat_summary(fun.y=mean, geom="point", shape=5, size=2, 
               position=position_dodge(width=.2)) +
  geom_dotplot(binaxis='y', stackdir='center', position='dodge') +
  xlab('') + ylab(expression(FEV[1])) + coord_flip() 

手段在垂直方向上的位置不太正确。欢迎指导。注意:我喜欢在两组点之间绘制箱线图;这不是问题。

?position_dodge 的帮助只是说躲避不同宽度的东西很棘手 - 我通常手动调整它。尝试一些值,看起来您希望这些点采用箱线图宽度的 3/4 的闪避宽度,但我不知道为什么或是否适用于其他几何图形。我会尝试将 stat_summary 调用的宽度更改为 0.15