Make a Red-Green-Blue plot based on three layers in a SpatRaster. The layers (sometimes referred to as "bands" because they may represent different bandwidths in the electromagnetic spectrum) are combined such that they represent the red, green and blue channel. This function can be used to make "true" (or "false") color images from Landsat and other multi-spectral satellite images.
Note that the margins of the plot are set to zero (no axes or titles are visible) but can be set with the mar
argument.
An alternative way to plot RGB images is to first use colorize
to create a single layer SpatRaster with a color-table and then use plot
.
# S4 method for SpatRaster
plotRGB(x, r=1, g=2, b=3, a=NULL, scale, maxcell=500000, mar=0,
stretch=NULL, ext=NULL, smooth=FALSE, colNA="white", alpha, bgalpha,
addfun=NULL, zlim=NULL, zlimcol=NULL, axes=FALSE, xlab="", ylab="",
asp=NULL, add=FALSE, xlim, ylim,...)
SpatRaster
integer. Index of the Red channel, between 1 and nlyr(x)
integer. Index of the Green channel, between 1 and nlyr(x)
integer. Index of the Blue channel, between 1 and nlyr(x)
integer. Index of the alpha (transparancy) channel, between 1 and nlyr(x). If not NULL, argument alpha
is ignored
integer. Maximum (possible) value in the three channels. Defaults to 255 or to the maximum value of x
if that is known and larger than 255
integer > 0. Maximum number of pixels to use
numeric vector recycled to length 4 to set the margins of the plot. Use mar=NULL
or mar=NA
to not set the margins
character. Option to stretch the values to increase contrast: "lin" (linear) or "hist" (histogram)
An SpatExtent
object to zoom in to a region of interest (see draw
)
logical. If TRUE
, smooth the image when drawing to get the appearance of a higher spatial resolution
color for the background (NA
values)
transparency. Integer between 0 (transparent) and 255 (opaque)
Background transparency. Integer between 0 (transparent) and 255 (opaque)
Function to add additional items such as points or polygons to the plot (map). See plot
numeric vector of length 2. Range of values to plot (optional)
If NULL
the values outside the range of zlim get the color of the extremes of the range. If zlimcol has any other value, the values outside the zlim range get the color of NA
values (see colNA)
logical. If TRUE
axes are drawn (and arguments such as main="title"
will be honored)
character. Label of x-axis
character. Label of y-axis
numeric. Aspect (ratio of x and y. If NULL, and appropriate value is computed to match data for the longitude/latitude coordinate reference system, and 1 for planar coordinate reference systems
logical. If TRUE
add values to current plot
numeric. min and max values to set the extent of the x-axis
numeric. min and max values to set the extent of the y-axis
graphical parameters as in plot
or rasterImage
plot
, colorize
, RGB
b <- rast(system.file("ex/logo.tif", package="terra"))
plotRGB(b)
plotRGB(b, mar=c(2,2,2,2))
plotRGB(b, 3, 2, 1)
b[1000:2000] <- NA
plotRGB(b, 3, 2, 1, stretch='hist')
Run the code above in your browser using DataLab