如何让R绘制的箱线图不压缩,清晰显示须线与离群点
解决R语言箱线图压缩及离群点分散问题
给你两个最简解决方案,直接修改现有代码就能生效:
方案1:调整离群点判定阈值(适合保留log轴的情况)
修改boxplot的coef参数,默认值是1.5,调小它会让箱须更短,更多数据点被标记为离群点,在log轴上自然分散开:
boxplot(movies$`Box Office`, ylab='Box Office Earnings ($)', main='Distribution of Box Office Earnings', col='light grey', log = "y", coef = 0.5, # 可根据效果调整0.3-1之间的数值 na.rm = TRUE) # 处理数据中的缺失值,避免报错
原理:箱须默认延伸到四分位距(IQR)的1.5倍范围外,调小coef后,箱须范围缩小,原本在箱须内的点会变成离群点,分散展示。
方案2:手动限定y轴范围(适合不想用log轴的情况)
通过分位数过滤极端大值,让图表聚焦在大部分数据的区间里,避免极端值压缩整个图表:
# 先计算99分位数,过滤掉最极端的1%数据 upper_limit <- quantile(movies$`Box Office`, 0.99, na.rm = TRUE) boxplot(movies$`Box Office`, ylab='Box Office Earnings ($)', main='Distribution of Box Office Earnings', col='light grey', ylim = c(0, upper_limit), na.rm = TRUE)
原理:砍掉最极端的超大值后,图表的y轴范围更贴合多数数据,离群点不会再挤在图表顶部。
内容的提问来源于stack exchange,提问作者Anahita Kaul
相关产品推荐
相关产品推荐

