par函数usr参数-控制坐标系的范围

在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)

生成的图片如下所示:

 从图中可以看到,坐标轴的范围和数据的最小值和最大值对应了起来

原文地址:https://www.cnblogs.com/xudongliang/p/6867650.html