Hovmoller plots
Hovmoller plots of Raster objects.
## 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, ...)
object |
A RasterStackBrick with a non-empty |
dirXY |
A direction as a function of the coordinates (see
|
FUN |
A function to be applied to the zones calculated with
|
digits |
An integer, number of digits for |
xlab, ylab |
Labels of the axis. |
par.settings |
Customization of lattice. See
|
xscale.components |
See |
labels, region |
Customization of |
add.contour |
Logical, if TRUE a contourplot with filled regions is drawn. |
... |
Additional arguments for the |
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.
Oscar Perpiñán Lamigueiro
Hovmoller, E. 1949. The trough and ridge diagram. Tellus 1, 62–66.
https://www2.mmm.ucar.edu/episodes/Hovmoller/noJS/hovm200707.htm
## Not run: 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 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) library(rasterVis) ## 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)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.