从R字面上看情节范围?

时间:2013-09-09 09:20:37

标签: r plot limit subset

我有以下数据集:

x = c(4, 5, 10, 30, 50, 51)
y = sqrt(x)

我想在5-50范围内绘制x范围内的数据

plot(x,y, xlim=c(5, 50))
abline(v=c(5,50), col="red")

但仍然可以看到来自该范围之外的数据点。 是否有一种简单的方法可以告诉plot()字面上的限制。 到目前为止,我提出了两个想法:

  1. 删除绘图的边距(我实际上喜欢边距,但不是可见的数据)
  2. 在绘制变量之前从变量中排除数据(根据我的经验总是很乏味 - 当您在data.frame中组织数据时,subset()可能会起作用)

1 个答案:

答案 0 :(得分:1)

默认情况下,R会在尝试查找漂亮的标签符号(例如2,4,65,10,15等)之前略微扩展轴的范围(按4%)。您可以使用par参数xaxs="i"覆盖此值 - 代表internal,您可以将其作为调用情节中的...参数之一传递:

plot(x,y, xlim=c(5, 50) , xaxs = "i" )

enter image description here

可能有用的par帮助页面中的一些信息:

  

<强> xaxs
  轴间距计算的样式用于x轴。可能的值为“r”,“i”,“e”,“s”,“d”   如果给定,样式通常由数据范围或xlim控制。

     
      
  • 样式“r”(常规)首先将数据范围扩展4%,然后找到一个具有适合扩展范围的漂亮标签的轴。
  •   
  • 样式“i”(内部)只是找到一个具有适合原始数据范围的漂亮标签的轴。
  •