首页 > 解决方案 > 在 r 中获取 grid() 的中心

问题描述

我在 R 中使用 plot() 绘制了一些点,并使用 grid() 函数对整个区域进行网格化。

plot(rb22,xlim=c(4027200,4030200),ylim=c(697500,700100)) 
grid()

我只需要获取这些网格中心的坐标。谁能帮我得到每个网格单元的中心,好吗?谢谢!

情节看起来像 这个

标签: rplot

解决方案


您不提供数据,因此我无法在您的绘图上执行此操作,但我可以在内置数据上进行演示。该函数axTicks将为您提供网格标记本身的坐标。当然,中心位于连续网格标记的中间。

## Illustrative graph
plot(iris[,3:4], pch=20, col=rainbow(3)[iris$Species], ylim=c(0,2.5))
grid()

## Now get the x & y for the centers
Tx = axTicks(1)
Ty = axTicks(2)
Midx = (Tx[-1] + head(Tx, -1)) /2
Midy = (Ty[-1] + head(Ty, -1)) /2

Midx 具有中心的所有 x 坐标。Midy 拥有所有的 y 坐标。您可以通过所有组合来对它们做一些事情。我通过在网格中心绘制一个框来说明

Junk = sapply(Midx, 
    function(x) sapply(Midy, 
        function(y) points(x,y, pch=22, cex=0.7,bg="orange")))

网格中心标记


推荐阅读