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, maxpixels=500000, col, alpha=NULL,
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 samplezoom
and crop(x, drawExtent())
TRUE
, 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)useRaster = TRUE
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