I have raster
maps which are generated using the raster
package in R. These raster layers can be visualized using the rasterVis
package's levelplot
function:
levelplot(rasterstack, layout=c(1, 2),
col.regions=colorRampPalette(c('darkred', 'red3', 'orange2', 'orange',
'yellow', 'lightskyblue', 'steelblue3',
'royalblue3', 'darkblue')))
Now, I would like to add some z values defined by xy cordinates to the levelplot map. The dataframe containing z values has 4 columns. Columns 1 & 2 contain x & y coordinates, column 3 contains z values for map 1 in layout(1, 1) and column 4 for layout(1, 2).
The points per map should be added such that if z < 0.05, pch=2
and if z > 0.05, pch=3
.
I have searched the web and found a solution by Ripley but it does not work in my case:
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)
}
)
I tried many other options but the points do not align with the map generated via levelplot
.
layer
is very convenient for this:Note that the
columns
argument tolayer
(rows
also exists) specifies which panel(s) you want to add the layer to.So I had a dataframe with xy cordinates and so many z columns. This is the final answer to get points added to my map thanks to @jbaums: