Learn R Programming

rasterVis (version 0.51.6)

histogram-methods: Histogram of Raster objects.

Description

Draw histograms (with lattice) of Raster objects.

Usage

# S4 method for Raster,missing
histogram(x, data=NULL, layers, FUN,
            maxpixels = 1e+05, nint=100,
            xlab='', ylab='', main='', col='gray',
            between=list(x=0.5, y=0.2),
            as.table=TRUE,
            scales=list(x=list(relation='free'),
              y=list(relation='free',
                draw=FALSE)),
            names.attr,
            par.settings=rasterTheme(),
            att = 1,
            ...)

# S4 method for SpatRaster,missing histogram(x, data=NULL, layers, FUN, maxpixels = 1e+05, nint=100, xlab='', ylab='', main='', col='gray', between=list(x=0.5, y=0.2), as.table=TRUE, scales=list(x=list(relation='free'), y=list(relation='free', draw=FALSE)), names.attr, par.settings=rasterTheme(), att = 1, ...)

# S4 method for formula,Raster histogram(x, data, dirXY, maxpixels = 1e+05, strip=TRUE, par.settings=rasterTheme(), att = 1, ...)

# S4 method for formula,SpatRaster histogram(x, data, dirXY, maxpixels = 1e+05, strip=TRUE, par.settings=rasterTheme(), att = 1, ...)

Arguments

x

A Raster* object, a SpatRaster object or a formula.

data

NULL, a Raster object, or SpatRaster object.

layers

A numeric or character which should indicate the layers to be displayed.

dirXY

A direction as a function of the coordinates (see xyLayer).

FUN

A function to applied to the z slot of a RasterStackBrick object or to the time index of the SpatRaster object. The result of this function is used as the grouping variable of the plot.

nint

Number of breaks for the histogram. See the documentation of lattice::histogram at lattice for details.

maxpixels

A numeric, for sampleRandom or spatSample.

att

If x is a factor, integer or character to choose which variable (column) in the RAT table should be used.

xlab, ylab, main, col

Arguments for histogram.

names.attr

Character or expression, names to use in each panel. If missing its default value is the result of names(x) (after subsetting the layers to be displayed).

between, as.table, scales, strip, par.settings

Graphical parameters of lattice. See lattice::xyplot for details.

...

Additional arguments for lattice::histogram

Author

Oscar Perpiñán Lamigueiro

See Also

histogram,xscale.raster, yscale.raster, rasterTheme

Examples

Run this code
library(raster)
library(terra)

f <- system.file("external/test.grd", package="raster")
r <- raster(f)
histogram(r)
s <- stack(r, r+500, r-500)
## Same breakpoints across panels
histogram(s)
## Each panel with different breakpoints
histogram(s, breaks=NULL)
histogram(s, breaks='Sturges')
histogram(s, breaks=30)

## Categorical data
r <- raster(nrow=10, ncol=10)
r[] = 1
r[51:100] = 3
r[3:6, 1:5] = 5
r <- ratify(r)
     
rat <- levels(r)[[1]]
rat$landcover <- c('Pine', 'Oak', 'Meadow')
rat$class <- c('A1', 'B2', 'C3')
levels(r) <- rat

histogram(r)
histogram(r, att = "class")

if (FALSE) {
library(zoo)

dataURL <- "https://raw.github.com/oscarperpinan/bookvis/master/data/"

##Solar irradiation data from CMSAF http://dx.doi.org/10.5676/EUM_SAF_CM/RAD_MVIRI/V001
old <- setwd(tempdir())
download.file(paste0(dataURL, "SISmm2008_CMSAF.zip"),
   "SISmm2008_CMSAF.zip", method='wget')
unzip("SISmm2008_CMSAF.zip")

listFich <- dir(pattern='\\.nc')
stackSIS <- stack(listFich)
stackSIS <- stackSIS*24 ##from irradiance (W/m2) to irradiation Wh/m2

idx <- seq(as.Date('2008-01-15'), as.Date('2008-12-15'), 'month')

SISmm <- setZ(stackSIS, idx)
names(SISmm) <- month.abb

histogram(SISmm)
histogram(SISmm, FUN=as.yearqtr)

## With the formula interface you can create histograms for a set of variables
histogram(~ Jan + Dec, data=SISmm)
## Or use the coordinates for generating zonal histograms.
## For example, five histograms for each latitude zone  
histogram(~ Jan | cut(y, 5), data=SISmm)
## More sophisticated bands can be defined using the dirXY argument 
histogram(~ Jan | cut(dirXY, 5), dirXY = x^2 + y^2, data=SISmm)
 
setwd(old)
}

if (FALSE) {
##http://neo.sci.gsfc.nasa.gov/Search.html?group=64
pop <- raster('875430rgb-167772161.0.FLOAT.TIFF')
pop[pop==99999] <- NA
levelplot(pop, zscaleLog=10, par.settings=BTCTheme,
          panel=panel.levelplot.raster, interpolate=TRUE)

##http://neo.sci.gsfc.nasa.gov/Search.html?group=20
landClass <- raster('241243rgb-167772161.0.TIFF')
landClass[landClass==254] <- NA


s <- stack(pop, landClass)
names(s) <- c('pop', 'landClass')

histogram(~asinh(pop)|landClass, data=s,
            scales=list(relation='free'),
            strip=strip.custom(strip.levels=TRUE))
}

Run the code above in your browser using DataLab