I have raster
maps which are generated using the raster
package in R. These raster layers can be visualized using the rasterVis
package\'s
layer
is very convenient for this:
library(raster)
library(rasterVis)
library(sp)
s <- stack(replicate(2, raster(matrix(runif(100), 10))))
xy <- data.frame(coordinates(sampleRandom(s, 10, sp=TRUE)),
z1=runif(10), z2=runif(10))
coordinates(xy) <- ~x+y
levelplot(s, margin=FALSE, at=seq(0, 1, 0.05)) +
layer(sp.points(xy, pch=ifelse(xy$z1 < 0.5, 2, 3), cex=2, col=1), columns=1) +
layer(sp.points(xy, pch=ifelse(xy$z2 < 0.5, 2, 3), cex=2, col=1), columns=2)
Note that the columns
argument to layer
(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:
s <- stack(raster1,raster2)
coordinates(SITES...TTEST) <- ~x+y # SpatialPointsDataFrame
levelplot(s, layout=c(1, 2),
col.regions=colorRampPalette(c("darkred", "red3",
"orange", "yellow", "lightskyblue", "royalblue3",
"darkblue")),
at=seq(floor(39.15945) ,ceiling(51.85068), length.out=30),
par.strip.text=list(cex=0),scales=list(alternating=FALSE))+
layer(sp.points(SITES...TTEST, pch=ifelse(SITES...TTEST$Precip_DJF6 < 0.05, 2, 3), cex=2, col=1), rows=1) +
layer(sp.points(SITES...TTEST, pch=ifelse(SITES...TTEST$Precip_DJF6 < 0.05, 2, 3), cex=2, col=1), rows=2)