我有raster
使用 R 中的包生成的地图raster
。这些栅格图层可以使用rasterVis
包的levelplot
功能进行可视化:
levelplot(rasterstack, layout=c(1, 2),
col.regions=colorRampPalette(c('darkred', 'red3', 'orange2', 'orange',
'yellow', 'lightskyblue', 'steelblue3',
'royalblue3', 'darkblue')))
现在,我想将一些由 xy 坐标定义的 z 值添加到 levelplot 地图。包含 z 值的数据框有 4 列。第 1 列和第 2 列包含 x 和 y 坐标,第 3 列包含布局 (1, 1) 中地图 1 的 z 值,第 4 列包含布局(1, 2) 的 z 值。
应该添加每个地图的点,使得如果 z < 0.05,pch=2
并且如果 z > 0.05 pch=3
,.
我在网上搜索并找到了 Ripley 的解决方案,但在我的情况下它不起作用:
levelplot(rcp852, xlab = "", ylab = "",
panel = function(x, y, subscripts, ...) {
panel.levelplot(x, y, subscripts, ...)
panel.xyplot(topo$x,topo$y, cex = 0.5, col = 1)
}
)
我尝试了许多其他选项,但这些点与通过生成的地图不对齐levelplot
。