plot(..., add=TRUE)
, or with functions like points, lines, polygons
See the rasterVis
package for more advanced (trellis/lattice) plotting of Raster* objects.## S3 method for class 'Raster,ANY':
plot(x, y, col=rev(terrain.colors(255)), maxpixels=500000, alpha=1,
colNA=NA, add=FALSE, ext=NULL, useRaster=TRUE, interpolate=FALSE,
addfun=NULL, nc, nr, maxnl=16, main, ...)
## S3 method for class 'Raster,Raster':
plot(x, y, maxpixels=100000, cex=0.2, nc, nr,
maxnl=16, main, add=FALSE, gridded=FALSE, ncol=25, nrow=25, ...)
x
is a RasterStack or RasterBrick: integer, character (layer name(s)), or missing to select which layer(s) to plot. If missing, all RasterLayers in the RasterStack will be plotted (up to a maximum of 16). Or another Raster* object of the smaxpixels < ncell(x)
, sampleRegular
is used before plotting. If gridded=TRUE
maxpixels may be ignored to get a larger sampleTRUE
, the rasterImage function is used for plotting. Otherwise the image function is used. This can be useful if rasterImage does not work well on your system (see note)zoom
and crop(x, drawExtent())
image.plot
and to plot
,
such as axes=FALSE, main='title', ylab='latitude'TRUE
the scatterplot is gridded (counts by cells)rasterVis
package has lattice based methods for plotting Raster* objects (like spplot
)
red-green-blue plots (e.g. false color composites) can be made with plotRGB
barplot
, hist
, text
, persp
, contour
, pairs
# RasterLayer
r <- raster(nrows=10, ncols=10)
r <- setValues(r, 1:ncell(r))
plot(r)
e <- extent(r)
plot(e, add=TRUE, col='red', lwd=4)
e <- e / 2
plot(e, add=TRUE, col='red')
# Scatterplot of 2 RasterLayers
r2 <- sqrt(r)
plot(r, r2)
plot(r, r2, gridded=TRUE)
# Multi-layer object (RasterStack / Brick)
s <- stack(r, r2, r/r)
plot(s, 2)
plot(s)
# two objects, different range, one scale:
r[] <- runif(ncell(r))
r2 <- r/2
brks <- seq(0, 1, by=0.1)
nb <- length(brks)-1
cols <- rev(terrain.colors(nb))
par(mfrow=c(1,2))
plot(r, breaks=brks, col=cols, lab.breaks=brks, zlim=c(0,1), main='first')
plot(r2, breaks=brks, col=cols, lab.breaks=brks, zlim=c(0,1), main='second')
# breaks and labels
x <- raster(nc=10, nr=10)
x[] <- runif(ncell(x))
brk <- c(0, 0.25, 0.75, 1)
arg <- list(at=c(0.12,0.5,0.87), labels=c("Low","Med.","High"))
plot(x, col=terrain.colors(3), breaks=brk)
plot(x, col=terrain.colors(3), breaks=brk, axis.args=arg)
par(mfrow=c(1,1))
# color ramp
plot(x, col=colorRampPalette(c("red", "white", "blue"))(255))
# adding random points to the map
xy <- cbind(-180 + runif(10) * 360, -90 + runif(10) * 180)
points(xy, pch=3, cex=5)
# for SpatialPolygons do
# plot(pols, add=TRUE)
# adding the same points to each map of each layer of a RasterStack
fun <- function() {
points(xy, cex=2)
points(xy, pch=3, col='red')
}
plot(s, addfun=fun)
Run the code above in your browser using DataLab