我正在尝试通过使用 rasterVis 包将多边形形状文件覆盖在栅格图层上来创建地图。我可以使用 raster 包中的 plot() 函数毫无问题地执行此功能,但我想自定义颜色。出于某种原因, levelplot() 不允许我覆盖栅格和多边形。我的第一次尝试是:
levelplot(raster, margin=FALSE, col.regions=viridis, at=seq(0,1, len=100)+ layer(sp.polygons(polygon)))
我得到这些错误:+.trellis
(seq(0, 1, len = 100), layer(sp.polygons(polygon))) 中的错误:inherits(object, "trellis") is not TRUE
然后我尝试使用 latticeExtra:
levelplot(raster, margin=FALSE, col.regions=viridis, at=seq(0,1, len=100)+ latticeExtra::layer(sp.polygon(polygon)))
我得到与上面相同的错误。我还尝试了其他建议的解决方案,例如运行 dev.off() 行并重新启动 R,我得到:
dev.off() 中的错误:无法关闭设备 1(空设备)
最后我尝试分离 ggplot2 但我仍然收到相同的“格子”错误消息。我不知道如何解释这个错误信息。我仔细检查了两个文件是否具有相同的 CSR,以防万一出现问题。另外,请注意,栅格图层的绘制没有问题,添加多边形会产生错误。有任何想法吗?