在 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
如果您只需要像素位置,您可以将栅格转换为矩阵并使用 image
或 rasterVis::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
我找不到有关如何将 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
如果您只需要像素位置,您可以将栅格转换为矩阵并使用 image
或 rasterVis::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