为双因子ggplot2箱线图设置标准差,解决误差线重叠问题
修正双因子箱线图的标准差误差线错位问题
你的问题出在stat_summary没有设置和箱线图一致的分组偏移规则,导致同一Usage分组下的两个Positive水平的误差线重叠在一起。
修正后的代码如下:
ggplot(data=df2, aes(x=Usage, y=`Panas result`, fill=Positive)) + geom_boxplot(position=position_dodge(width=0.5), width=0.5) + coord_cartesian(ylim = c(10, 45)) + scale_fill_manual(values=c("#33FFFF","seagreen2"),labels=c('נייטרלי', "חיובי")) + labs(fill = "מניפולציה",title="תוצאות שאלון הפנס כתלות בסיווג זמן המסך וסוג המניפולציה", x="זמן מסך", y = "תוצאות שאלון הפנס") + stat_summary( fun.min = function(x) mean(x) - sd(x), fun.max = function(x) mean(x) + sd(x), geom = "errorbar", color = "purple", width = .3, # 可选:调小宽度避免和箱线图边框重叠 position = position_dodge(width=0.5) # 和箱线图的偏移宽度保持一致 ) + theme_classic()
关键修改点:
- 给
geom_boxplot的position_dodge明确指定width=0.5,确保偏移规则清晰 - 给
stat_summary添加position=position_dodge(width=0.5),让误差线和对应箱线图对齐 - 移除不必要的
orientation='Usage'参数,ggplot会根据aes分组自动处理方向 - 可选调整误差线
width为0.3,优化视觉效果避免重叠
修改后,每个Usage分组下的两个Positive水平的误差线会和对应箱线图一一匹配,不再出现错位重叠。
内容的提问来源于stack exchange,提问作者Eldan Binyamini
相关产品推荐
相关产品推荐

