在 R 中通过 nrow 和 ncol(维度)绘制栅格

Plot raster by nrow and ncol (dimensions) in R

我找不到有关如何将 x 轴和 y 轴从坐标(范围)更改为 nrow 和 ncol(维度)的文档。当我绘制光栅时:

r1 <- raster(ncol=10, nrow=10, crs="EPSG:4326")
values(r1) <- sample(80:100, 100, replace=TRUE)
plot(r1)

x 轴和 y 轴从 crs 拉动。我希望 x 和 y 基于行数和列数:

似乎应该有一个明显的解决方案,但我只是没有找到。我在 plot() 上检查了 docs,导致我到 graphical parameters,运气不好。我尝试用 ymn, ymx, xmn, xmx 强制轴。我想删除 crs,但这只会让事情变得混乱。还有其他想法吗?

我认为您已经设置了栅格范围的值。列数和行数设置 raster() 中的分辨率,但不是范围。 我相信默认情况下 raster() 中的范围是地球的范围,所以纬度为 -90,+90,经度为 -180,+180。这是一个例子:

library(raster)
set.seed(42)

r1 <- raster(ncol=10, nrow=10, crs="EPSG:4326")
values(r1) <- sample(80:100, 100, replace=TRUE)
plot(r1) ##Default Extent of xmn = -90, xmx=+90, ymn=-180, ymx=+180

r2 <- raster(xmn=0, xmx=10, ymn=0, ymx=10, ncol=10, nrow=10, crs="EPSG:4326")
values(r2) <- sample(80:100, 100, replace=TRUE)
plot(r2) ##Desired Extent of xmn = 0, xmx=10, ymn = 0, ymx = 10 

如果您只需要像素位置,您可以将栅格转换为矩阵并使用 imagerasterVis::levelplot

绘制它
library(raster)
#> Loading required package: sp
r1 <- raster(ncol=10, nrow=10, crs="EPSG:4326")
values(r1) <- sample(80:100, 100, replace=TRUE)

m <- as.matrix(r1)
image(1:ncol(m), 1:nrow(m), m)

rasterVis::levelplot(m)

reprex package (v2.0.0)

创建于 2022-01-18