cod*_*123 8 r points levelplot
我有raster使用rasterR中的包生成的映射.这些栅格图层可以使用rasterVis包的levelplot函数可视化:
levelplot(rasterstack, layout=c(1, 2),
col.regions=colorRampPalette(c('darkred', 'red3', 'orange2', 'orange',
'yellow', 'lightskyblue', 'steelblue3',
'royalblue3', 'darkblue')))
Run Code Online (Sandbox Code Playgroud)
现在,我想将xy cordinates定义的一些z值添加到levelplot映射中.包含z值的数据帧有4列.第1列和第2列包含x和y坐标,第3列包含布局(1,1)中的地图1的z值和布局(1,2)的第4列.
应该添加每个地图的点数,使得如果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)
}
)
Run Code Online (Sandbox Code Playgroud)
我尝试了很多其他选项,但这些点与通过生成的地图不一致levelplot.
layer 对此非常方便:
s <- stack(replicate(2, raster(matrix(runif(100), 10))))
xy <- data.frame(coordinates(sampleRandom(s, 10, sp=TRUE)),
z1=runif(10), z2=runif(10))
levelplot(s, margin=FALSE, at=seq(0, 1, 0.05)) +
layer(sp.points(xy, pch=ifelse(pts$z1 < 0.5, 2, 3), cex=2, col=1), columns=1) +
layer(sp.points(xy, pch=ifelse(pts$z2 < 0.5, 2, 3), cex=2, col=1), columns=2)
Run Code Online (Sandbox Code Playgroud)
需要注意的是columns参数layer(rows也存在)指定要添加图层到面板(一个或多个).

| 归档时间: |
|
| 查看次数: |
7268 次 |
| 最近记录: |