R内置plot函数能否手动设置单个坐标轴限制(如y轴最小值)?
R的plot函数设置单个坐标轴限制的方法
当然可以,R的内置plot()函数支持单独设置单个坐标轴的限制,你可以通过ylim参数指定y轴范围,只固定最小值为0,最大值让R自动基于你的数据计算就行。
直接修改你的代码就能实现需求:
evalues = c(2.88, 1.44, 1.16, 1.02, 0.71, 0.65, 0.56, 0.35, 0.23) plot(evalues, type="b", main="Scree plot", ylim = c(0, max(evalues)))
这里ylim = c(0, max(evalues))的作用是把y轴最小值固定为0,最大值取数据中的最大值,这样就只调整了y轴下限,上限保持和自动绘制时一致。
如果想保留R自动计算的y轴上限(有时候自动计算的上限会比数据最大值稍大一点,视觉效果更美观),也可以先获取默认坐标轴范围再调整:
evalues = c(2.88, 1.44, 1.16, 1.02, 0.71, 0.65, 0.56, 0.35, 0.23) # 先绘制空图形框架,不加载数据,用于获取默认坐标轴范围 plot(evalues, type="n", main="Scree plot") # 提取默认的y轴上限(par("usr")返回x左、x右、y下、y上的范围) default_y_upper = par("usr")[4] # 重新绘制图形,固定y轴最小值为0,上限沿用默认值 plot(evalues, type="b", main="Scree plot", ylim = c(0, default_y_upper))
同理,要是需要单独调整x轴的某一端,用xlim参数即可,用法和ylim完全一致。
内容的提问来源于stack exchange,提问作者John
相关产品推荐
相关产品推荐

