如何在R绘制箱线图时强制显示y轴完整取值范围?
解决R箱线图强制显示完整y轴范围的问题
我来帮你搞定这个问题~你现在的问题在于,虽然手动添加了-5到5的刻度,但boxplot()函数默认会根据你的实际数据范围(-1.3到4.6)自动设定绘图区域的y轴边界,导致超出这个范围的刻度(比如-5、-4、-3)无法显示出来。
要强制显示完整的-5到5范围,只需要在boxplot()函数里添加ylim参数,固定绘图区域的y轴范围即可。修改后的代码如下:
# 添加ylim参数强制设定y轴范围 boxplot(depvar ~ indepvar, data = a, pars = list(outlwd = 2, outcex = 1.8), axes = FALSE, ylim = c(-5, 5)) # 自定义y轴刻度(这里把tck改成了0.02,因为tck=7会导致刻度线特别长,应该是笔误) axis(side = 2, at = seq(-5, 5, by = 1), las = 1, tck = 0.02)
关键说明:
ylim = c(-5, 5):这个参数会告诉R,绘图区域的y轴必须覆盖从-5到5的全部区间,不管数据有没有覆盖到这个范围。- 关于
tck参数:你原来写的tck=7会生成非常长的刻度线(tck的取值范围通常是-1到1,正数表示刻度线向内,负数向外),所以我改成了更合理的0.02,你可以根据自己的需求调整这个数值。
这样修改后,你的箱线图就会完整显示-5到5的y轴范围啦~
内容的提问来源于stack exchange,提问作者Stars
相关产品推荐
相关产品推荐

