R语言使用ggplot2为分组箱线图添加各子组均值点问题求助
你的问题核心是stat_summary的位置偏移参数和geom_boxplot的分组偏移参数不匹配,导致均值点没有按培养物分组分散,全部挤在温度刻度的中心位置。
只需要保证箱线图和均值点的位置调整参数完全一致即可,以下是两种可行的修正方案:
方案1:沿用默认箱线图偏移宽度
graph<-ggplot(Algae, aes(x = Temperature, y = Density, fill=Culture))+ geom_boxplot()+ stat_summary(fun=mean, geom="point", shape=20, size=2, color="red", # 偏移宽度和geom_boxplot默认的0.75保持一致 position = position_dodge(width = 0.75))
方案2:保留你原有dodge2参数,箱线图同步设置
graph<-ggplot(Algae, aes(x = Temperature, y = Density, fill=Culture))+ # 箱线图也使用相同的dodge2参数 geom_boxplot(position = position_dodge2(width = 0.5, preserve = "single"))+ stat_summary(fun=mean, geom="point", shape=20, size=2, color="red", position = position_dodge2 (width = 0.5, preserve = "single"))
两种方案都可以实现每个「温度+培养物」分组的均值点准确落在对应箱线图的中心位置。
内容的提问来源于stack exchange,提问作者Carlos
相关产品推荐
相关产品推荐

