hovmoller-methods function

Hovmoller plots

Hovmoller plots

Hovmoller plots of Raster objects. methods

## S4 method for signature 'RasterStackBrick' hovmoller(object, dirXY=y, FUN=mean, digits=2, xlab='Direction', ylab='Time', par.settings=rasterTheme(), xscale.components=xscale.raster, add.contour=FALSE, labels=FALSE, region=TRUE, ...) ## S4 method for signature 'SpatRaster' hovmoller(object, dirXY=y, FUN=mean, digits=2, xlab='Direction', ylab='Time', par.settings=rasterTheme(), xscale.components=xscale.raster, add.contour=FALSE, labels=FALSE, region=TRUE, ...)

Arguments

  • object: A RasterStackBrick with a non-empty z slot, or a SpatRaster with a time index.

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

  • FUN: A function to be applied to the zones calculated with dirXY and zonal.

  • digits: An integer, number of digits for zonal.

  • xlab, ylab: Labels of the axis.

  • par.settings: Customization of lattice. See levelplot and rasterTheme for details.

  • xscale.components: See xscale.raster.

  • labels, region: Customization of contourplot when add.contour is TRUE.

  • add.contour: Logical, if TRUE a contourplot with filled regions is drawn.

  • ...: Additional arguments for the contourplot

    and levelplot functions.

Details

Extracted from wikipedia: "A Hovmöller diagram is a commonly used way of plotting meteorological data to highlight the role of waves. The axes of a Hovmöller diagram are typically longitude or latitude (abscissa or x-axis) and time (ordinate or y-axis) with the value of some field represented through color or shading." The direction defined by dirXY and the function FUN allows for a variety of diagrams with this method.

Author(s)

Oscar Perpiñán Lamigueiro

See Also

levelplot, zonal, panel.2dsmoother

References

Examples

## Not run: library(raster) library(terra) 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 SISmmt <- rast(SISmm) time(SISmmt) <- getZ(SISmm) ## Latitude as default hovmoller(SISmm, xlab='Latitude') hovmoller(SISmmt, xlab = 'Latitude') ## With contour lines and labels hovmoller(SISmm, labels=TRUE, add.contour=TRUE, xlab='Latitude') ## Smooth color regions with latticeExtra::panel.2dsmoother library(latticeExtra) hovmoller(SISmm, panel=panel.2dsmoother, n=1000, labels=FALSE, add.contour=TRUE, xlab='Latitude') ## Using a function of coordinates hovmoller(SISmm, dirXY=sqrt(x^2+y^2)) ## End(Not run) ## Not run: library(zoo) ## DESCRIPTION: http://iridl.ldeo.columbia.edu/SOURCES/.CAC/.sst/ setwd(tempdir()) download.file('http://iridl.ldeo.columbia.edu/SOURCES/.CAC/.sst/data.nc', destfile = 'SST.nc') SST <- stack('SST.nc') idx <- seq(as.Date('1970-01-01'), as.Date('2003-03-01'), by='month') tt <- as.yearmon(idx) SST <- setZ(SST, tt) names(SST) <- as.character(tt) ## Extract month value from a Date or yearmon object month <- function(x)format(x, '%m') ## Compute anomaly using monthly grouping with ave anomaly <- function(x){ ## Monthly means mm <- ave(x, month(tt), FUN = mean) ## Monthly standard deviation msd <- ave(x, month(tt), FUN = sd) ## anomaly (x - mm)/msd } ## Use anomaly with calc SSTanom <- calc(SST, anomaly) SSTanom <- setZ(SSTanom, tt) ## Ok, let's see the result hovmoller(SSTanom, at = seq(-3, 3, .25), panel = panel.levelplot.raster, interpolate = TRUE, yscale.components = yscale.raster.subticks, par.settings = BuRdTheme) ## End(Not run)
  • Maintainer: Oscar Perpinan Lamigueiro
  • License: GPL-3
  • Last published: 2023-11-01