-1

假设我在 R 中生成了一个随机图,然后放置了水平网格:

x<-rnorm(100, 12, 3)
y<-rnorm(100, 34, 45)
plot(x,y)
#griding in y direction only
grid(NA, 25, lwd = 2)

该图可在此处找到:https ://docs.google.com/file/d/0B6GUNg-8d30vUVhMS3ZUa0lULVU/edit?usp=sharing 。我想知道:(i)如何将网格限制为该特定网格中数据的最大和最小水平范围?即,在我没有数据的地方,左/右将没有网格,因为我的网格的高度保持不变(如果有必要,我不介意将其设为空间对象);并且,(ii)之后如何导出/获取每个矩形网格的坐标?

4

1 回答 1

0

这应该回答你的 i)。您可以使用 clip() 设置要添加的绘图区域。

x<-rnorm(100, 12, 3)
y<-rnorm(100, 34, 45)
plot(x,y)

clip(x1=min(x), x2=max(x), y1=min(y), y2=max(y))
grid(NA, 25, lwd = 2)

对于 ii),您可以在 grid() 周围挖掘,发现它使用以下代码(此处稍作修改)来计算网格线的 Y 坐标,

ny <- 25
U <- par("usr")
at <- seq.int(U[3L], U[4L], length.out = ny + 1)
Y <- at[-c(1, ny + 1)]

其中 Y 是一个向量。

于 2013-07-31T03:02:06.453 回答