Fan Plot of Forecast Distributions
fanplot.RdThe fanplot() function in surveillance wraps functionality of
the dedicated fanplot package, employing a different default style
and optionally adding point predictions and observed values.
Arguments
- quantiles
a time x
probsmatrix of forecast quantiles at each time point.- probs
numeric vector of probabilities with values between 0 and 1.
- means
(optional) numeric vector of point forecasts.
- observed
(optional) numeric vector of observed values.
- start
time index (x-coordinate) of the first prediction.
- fan.args
a list of graphical parameters for the
fan, e.g., to employ a differentcolorRampPaletteasfan.col, or to enable contour lines vialn.- means.args
a list of graphical parameters for
linesto modify the plotting style of themeans. The default is a white line within the fan.- observed.args
a list of graphical parameters for
linesto modify the plotting style of theobservedvalues.- key.args
if a list, a color key (in
fan()'s"boxfan"-style) is added to the fan chart. The list may include positioning parametersstart(the x-position) andylim(the y-range of the color key),spaceto modify the width of the boxfan, andrlabto modify the labels. An alternative way of labeling the quantiles is via the argumentlninfan.args.- xlim,ylim
axis ranges.
- log
a character string specifying which axes are to be logarithmic, e.g.,
log="y"(seeplot.default).- xlab,ylab
axis labels.
- add
logical indicating if the fan plot should be added to an existing plot.
- ...
further arguments are passed to
plot.default. For instance,panel.firstcould be used to initialize the plot withgrid(nx=NA, ny=NULL)lines.
See also
the underlying fan function in package
fanplot.
The function is used in plot.oneStepAhead and
plot.hhh4sims.
Examples
## artificial data example to illustrate the graphical options
if (requireNamespace("fanplot")) {
means <- c(18, 19, 20, 25, 26, 35, 34, 25, 19)
y <- rlnorm(length(means), log(means), 0.5)
quantiles <- sapply(1:99/100, qlnorm, log(means), seq(.5,.8,length.out=length(means)))
## default style with point predictions, color key and log-scale
fanplot(quantiles = quantiles, probs = 1:99/100, means = means,
observed = y, key.args = list(start = 1, space = .3), log = "y")
## with contour lines instead of a key, and different colors
pal <- colorRampPalette(c("darkgreen", "gray93"))
fanplot(quantiles = quantiles, probs = 1:99/100, observed = y,
fan.args = list(fan.col = pal, ln = c(5,10,25,50,75,90,95)/100),
observed.args = list(type = "b", pch = 19))
}