| plot_raster {gdalraster} | R Documentation | 
Display raster data
Description
plot_raster() displays raster data using base graphics.
Usage
plot_raster(
  data,
  xsize = NULL,
  ysize = NULL,
  nbands = 1,
  max_pixels = 2.5e+07,
  col_tbl = NULL,
  maxColorValue = 1,
  normalize = TRUE,
  minmax_def = NULL,
  minmax_pct_cut = NULL,
  col_map_fn = NULL,
  xlim = NULL,
  ylim = NULL,
  interpolate = TRUE,
  asp = 1,
  axes = TRUE,
  main = "",
  xlab = "x",
  ylab = "y",
  xaxs = "i",
  yaxs = "i",
  legend = FALSE,
  digits = 2,
  na_col = rgb(0, 0, 0, 0),
  ...
)
Arguments
| data | Either a  | 
| xsize | The number of pixels along the x dimension in  | 
| ysize | The number of pixels along the y dimension in  | 
| nbands | The number of bands in  | 
| max_pixels | The maximum number of pixels that the function will
attempt to display (per band). An error is raised if  | 
| col_tbl | A color table as a matrix or data frame with four or five
columns. Column 1 contains the numeric pixel values. Columns 2:4 contain
the intensities of the red, green and blue primaries ( | 
| maxColorValue | A number giving the maximum of the color values range
in  | 
| normalize | Logical.  | 
| minmax_def | Normalize to user-defined min/max values (in terms of the pixel data, per band). For single-band grayscale, a numeric vector of length two containing min, max. For 3-band RGB, a numeric vector of length six containing b1_min, b2_min, b3_min, b1_max, b2_max, b3_max. | 
| minmax_pct_cut | Normalize to a truncated range of the pixel data using
percentile cutoffs (removes outliers). A numeric vector of length two giving
the percentiles to use (e.g.,  | 
| col_map_fn | An optional color map function (default is
 | 
| xlim | Numeric vector of length two giving the x coordinate range.
If  | 
| ylim | Numeric vector of length two giving the y coordinate range.
If  | 
| interpolate | Logical indicating whether to apply linear interpolation
to the image when drawing (default  | 
| asp | Numeric. The aspect ratio y/x (see  | 
| axes | Logical.  | 
| main | The main title (on top). | 
| xlab | Title for the x axis (see  | 
| ylab | Title for the y axis (see  | 
| xaxs | The style of axis interval calculation to be used for the x axis
(see  | 
| yaxs | The style of axis interval calculation to be used for the y axis
(see  | 
| legend | Logical indicating whether to include a legend on the plot.
Currently, legends are only supported for continuous data. A color table
will be used if one is specified or the raster has a built-in color table,
otherwise the value for  | 
| digits | The number of digits to display after the decimal point in the legend labels when raster data are floating point. | 
| na_col | Color to use for  | 
| ... | Other parameters to be passed to  | 
Note
plot_raster() uses the function graphics::rasterImage() for plotting
which is not supported on some devices (see ?rasterImage).
If data is an object of class GDALRaster, then plot_raster() will
attempt to read the entire raster into memory by default (unless the number
of pixels per band would exceed max_pixels).
A reduced resolution overview can be read by setting xsize, ysize
smaller than the raster size on disk.
(If data is instead specified as a vector of pixel values, a reduced
resolution overview would be read by setting out_xsize and out_ysize
smaller than the raster region defined by xsize, ysize in a call to
GDALRaster$read()).
The GDAL_RASTERIO_RESAMPLING configuration option can be
defined to override the default resampling (NEAREST) to one of BILINEAR,
CUBIC, CUBICSPLINE, LANCZOS, AVERAGE or MODE, for example:
set_config_option("GDAL_RASTERIO_RESAMPLING", "BILINEAR")
See Also
GDALRaster$read(), read_ds(), set_config_option()
Examples
## Elevation
elev_file <- system.file("extdata/storml_elev.tif", package="gdalraster")
ds <- new(GDALRaster, elev_file)
# grayscale
plot_raster(ds, legend=TRUE, main="Storm Lake elevation (m)")
# color ramp from user-defined palette
elev_pal <- c("#00A60E","#63C600","#E6E600","#E9BD3B",
              "#ECB176","#EFC2B3","#F2F2F2")
ramp <- scales::colour_ramp(elev_pal, alpha=FALSE)
plot_raster(ds, col_map_fn=ramp, legend=TRUE,
            main="Storm Lake elevation (m)")
ds$close()
## Landsat band combination
b4_file <- system.file("extdata/sr_b4_20200829.tif", package="gdalraster")
b5_file <- system.file("extdata/sr_b5_20200829.tif", package="gdalraster")
b6_file <- system.file("extdata/sr_b6_20200829.tif", package="gdalraster")
band_files <- c(b6_file, b5_file, b4_file)
r <- vector("integer")
for (f in band_files) {
  ds <- new(GDALRaster, f)
  dm <- ds$dim()
  r <- c(r, read_ds(ds))
  ds$close()
}
plot_raster(r, xsize=dm[1], ysize=dm[2], nbands=3,
            main="Landsat 6-5-4 (vegetative analysis)")
## LANDFIRE Existing Vegetation Cover (EVC) with color map
evc_file <- system.file("extdata/storml_evc.tif", package="gdalraster")
# colors from the CSV attribute table distributed by LANDFIRE
evc_csv <- system.file("extdata/LF20_EVC_220.csv", package="gdalraster")
vat <- read.csv(evc_csv)
head(vat)
vat <- vat[,c(1,6:8)]
ds <- new(GDALRaster, evc_file)
plot_raster(ds, col_tbl=vat, interpolate=FALSE,
            main="Storm Lake LANDFIRE EVC")
ds$close()