Learn R Programming

rasterVis (version 0.40)

hovmoller-methods: Hovmoller plots

Description

Hovmoller plots of Raster objects.

Usage

"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.
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
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.

References

See Also

levelplot, zonal, panel.2dsmoother

Examples

Run this code
## Not run: 
# ##Solar irradiation data from CMSAF http://dx.doi.org/10.5676/EUM_SAF_CM/RAD_MVIRI/V001
# old <- setwd(tempdir())
# download.file('https://raw.github.com/oscarperpinan/spacetime-vis/master/data/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
# 
# ## Latitude as default
# hovmoller(SISmm, 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)

Run the code above in your browser using DataLab