在R语言中,会根据数据的范围自动计算x轴和y轴的范围,举个例子
比如绘制一个1到5的散点图:代码示例:
plot(1:5, 1:5)
生成的图片如下:
从图片中我们可以看到,x轴的起始位置比1要小,终止范围比5要大,y轴也是同样的道理,那么x轴和y轴具体的范围是多少呢?
这个问题的答案,其实就是usr 参数的值
在图片绘制完成之后,接着输入 par("usr") ,我们就可以看到坐标轴具体的范围了,对于这幅图片来说,返回值为
par("usr") [1] 0.84 5.16 0.84 5.16
一共4个值,范围对应 x轴的起始, x轴的终止,y轴的起始,y轴的终止 , 所以x轴和y轴的起始位置为0.84, 终止位置为5.16
0.84和5.16 是如何计算得到的呢?
在R语言中,会根据数据的范围,在起始和终止点多增加4%的区间,以便更好的标记数据的起始和终止坐标
在上面的图中,x轴的最小值为1, 最大值为5, 数据跨度为4, 4 * 4% = 0.16, 所以默认的起始位置为 1 - 0.16 = 0.84, 终止位置为 5 + 0.16 = 5.16
这样的默认行为实际上是通过 xaxs 和 yaxs 两个参数的值来控制的,在R语言中,这两个参数的取值包括 "r" 和 "i" 两种,其中"r"是默认值,具体的行为就是我们上边讲到的添加4%的一个距离,"i" 代表的行为是,原始数据的最小值到最大值是多少,对应的坐标轴的起始和终止位置就是多少
代码示例:
par(xaxs = "i", yaxs = "i") plot(1:5, 1:5)
生成的图片如下所示:
从图中可以看到,坐标轴的范围和数据的最小值和最大值对应了起来