使用 R 中 "rasterVis" 包中的 levelplot 函数仅用 2 个像素绘制栅格

Plotting raster with just 2 pixels using levelplot function in "rasterVis" package in R

我正在尝试使用 "rasterVis) package, but all this gives me is a straight line. I tried to give different breaks to the legend using the "at" 命令中的 levelplot 函数绘制以下栅格,但无济于事。我在文档中尽我所能,但找不到答案。 此外,栅格在 R 中使用 "plot()" 和 "image()" 命令绘制得很好。请帮忙。

library(raster)
library(rasterVis)
sr <- "+proj=utm +zone=12 +datum=NAD83 +units=m +no_defs +ellps=GRS80 +towgs84=0,0,0"
r <- raster(resolution =c(24600, 28900), crs = sr, nrows = 1, ncols = 2, ext = extent(c(573800, 623000, 3508713, 3537613)))
r[] <- c(1,2)
levelplot(r, margin = FALSE)    

plot of the output from levelplot

编辑 1 当我定义没有范围和投影的栅格时,栅格可以用水平图很好地绘制。我找不到原因。

r2 <- raster(nrows =1, ncols =2)
r2[] <- c(1, 2)
levelplot(r2, margin = FALSE)

plot of raster r2

如果使用 resolution,参数 ncolsnrows 将被忽略。删除 resolutionnrow 以使用 levelplot 绘制它。

library(raster)
library(rasterVis)
sr <- "+proj=utm +zone=12 +datum=NAD83 +units=m +no_defs +ellps=GRS80 +towgs84=0,0,0"
r <- raster(ncol = 2, crs = sr, ext = extent(c(573800, 623000, 3508713, 3537613)))
r[] <- c(1, 2)
levelplot(r, margin = FALSE)