r - 如何使用 spplot 绘制额外的栅格?

标签 r plot gis

我想将 SpatialPolygonsDataFrame 绘制为半透明的主对象(右侧有图例),但我想绘制额外的栅格(山体阴影)作为背景 - 只是为了制作更好的 map 。我需要这样的东西:

spplot(polygons, sp.layout = list(list("raster", myRaster)))

但查看?spplot,似乎无法在sp.layout 中指定栅格。我不能将栅格指定为主要对象,因为主要对象是 polygons dataFrame,我想在右侧的图例中绘制其值比例。

如何在 spplot 中绘制额外的栅格?

最佳答案

这是一种方法。不过,可能有一种更简洁的方法可以在不绘制多边形对象两次的情况下实现它……

library(sp)
library(rasterVis)
r <- raster(nrow=18, ncol=36)
r[] <- runif(ncell(r)) * 10
r[r > 8] <- NA
pol <- rasterToPolygons(r, function(x) x > 6)
spplot(pol) + levelplot(r) + spplot(pol)

enter image description here

或者:

library(latticeExtra)
spplot(pol) + spplot(r) + spplot(pol)

enter image description here


编辑

根据@OscarPerpiñán 的评论,更好的方法是:

spplot(pol) + as.layer(spplot(r), under = TRUE)

关于r - 如何使用 spplot 绘制额外的栅格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27062768/

相关文章:

r - 如何在 POSIX 中提取小时、分钟和秒(忽略日期)

r - 如何从稀疏采样数据制作地形图?

r - R 中 CSV 文件数据的频率分布图

python - 将 pandas.dataframe.plot() 与 matplotlib.pyplot.plot() 结合的最佳方法是什么?

gis - API - 列出给定邮政编码中的所有地址

r - 如何在 R 中训练和交叉验证

linux - 无法在centos上卸载并重新安装R

python - 在 python pandas 数据帧中添加时间序列强度的廉价方法

c# - 将两个 C# DbGeography 多边形连接成一个多边形

linux - 光栅制图转换库。 'Unprojected' 到任何