stsplot_time: Time-Series Plots for '"sts"' Objects

Description Usage Arguments Details Value Author(s) See Also Examples

Description

These are the plot variants of type=observed~time|unit, type=observed~time, and type=alarm~time for "sts" objects (see the central "sts" plot-method for an overview of plot types).

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
stsplot_time(x, units=NULL, method=x@control$name, disease=x@control$data,
             as.one=FALSE, same.scale=TRUE, par.list=list(), ...)

stsplot_time1(x, k=1, ylim=NULL,
              axes=TRUE, xaxis.tickFreq=list("%Q"=atChange),
              xaxis.labelFreq=xaxis.tickFreq, xaxis.labelFormat="%G\n\n%OQ",
              epochsAsDate=x@epochAsDate,
              xlab="time", ylab="No. infected", main=NULL,
              type="s", lty=c(1,1,2), col=c(NA,1,4), lwd=c(1,1,1),
              outbreak.symbol=list(pch=3, col=3, cex=1, lwd=1),
              alarm.symbol=list(pch=24, col=2, cex=1, lwd=1),
              legend.opts=list(),
              dx.upperbound=0L, hookFunc=function(){},
              .hookFuncInheritance=function() {}, ...)

stsplot_alarm(x, lvl=rep(1,nrow(x)), ylim=NULL,
              xaxis.tickFreq=list("%Q"=atChange),
              xaxis.labelFreq=xaxis.tickFreq, xaxis.labelFormat="%G\n\n%OQ",
              epochsAsDate=x@epochAsDate, xlab="time", main=NULL,
              type="hhs", lty=c(1,1,2), col=c(1,1,4),
              outbreak.symbol=list(pch=3, col=3, cex=1, lwd=1),
              alarm.symbol=list(pch=24, col=2, cex=1, lwd=1),
              cex=1, cex.yaxis=1, ...)

Arguments

x

an object of class "sts".

units

optional integer or character vector to select the units (=columns of observed(x)) to plot. stsplot_time1 is called for (k in units). The default is to plot all time series. This argument is especially useful if x has a lot of units which do not fit onto a single page altogether (and produce the error message “figure margins too large”).

method

name of the surveillance method to be used in the main title. Currently ignored.

disease

name of the disease to be used in the main title. Currently ignored.

as.one

logical indicating if all time series should be plotted within the same frame. This is currently not implemented for the "sts" class, but see plot.disProg and sts2disProg.

same.scale

logical indicating if all time series should be plotted with the same ylim. Default is to do so. Only relevant for multivariate plots (ncol(x) > 1).

par.list

a list of arguments delivered to a call of par to set graphical parameters before plotting. The mfrow splitting is handled per default. Afterwards, the parameters are reverted to their original values. Use par.list=NULL to disable the internal par call.

k

the unit to plot, i.e., an element of 1:ncol(x).

ylim

the y limits of the plot(s). Ignored if same.scale=FALSE.

axes

a logical value indicating whether both axes should be drawn on the plot.

xaxis.tickFreq,xaxis.labelFreq,xaxis.labelFormat

see addFormattedXAxis.

epochsAsDate

Boolean indicating whether to treat the epochs as Date objects (or to transform them to dates such that the new x-axis formatting is applied). Default: Value of the epochAsDate slot of x.

xlab

a title for the x axis. See plot.default.

ylab

a title for the y axis. See plot.default.

main

an overall title for the plot: see 'title'.

type

type of plot to do.

lty

vector of length 3 specifying the line type for the three lines in the plot – see col argument.

col

Vector of length 3 specifying the color to use in the plot. The first color is the fill color of the polygons for the counts bars (NA for unfilled), the 2nd element denotes their border color, the 3rd element is the color of the upperbound plotting.

lwd

Vector of length 3 specifying the line width of the three elements to plot. See also the col argment.

alarm.symbol

a list with entries pch, col, cex and lwd specifying the appearance of the outbreak symbol in the plot.

outbreak.symbol

a list with entries pch, col, cex and lwd specifying the appearance of the outbreak symbol in the plot.

legend.opts

a list of arguments for legend. If missing(legend.opts) (i.e., not explicitly specified), the default legend will only be produced if x contains any information on outbreaks, alarms, or upperbounds. To disable the legend, use, e.g., legend.opts=NULL. Otherwise, the following arguments are default:

x

"top"

legend

c("Infected","Threshold","Outbreak","Alarm")

lty,pch,col

the corresponding graphical settings

Any further arguments to the legend function are just provided as additional elements of this list, e.g. horiz=TRUE.

dx.upperbound

horizontal change in the plotting of the upperbound line. Sometimes it can be convenient to offset this line a little for better visiability.

lvl

A vector of length ncol(x), which is used to specify the hierarchy level for each time series in the sts object for alarm plots.

cex

A numerical value giving the amount by which plotting text and symbols should be magnified relative to the default. See ?par for details.

cex.yaxis

The magnification to be used for y-axis annotation relative to the current setting of 'cex'.

hookFunc

a function that is called after all the basic plotting has be done, i.e., it is not possible to control formatting with this function. See Examples.

.hookFuncInheritance

a function which is altered by sub-classes plot method. Do not alter this function manually.

...

further arguments for the function matplot. If e.g. xlab or main are provided they overwrite the default values.

Details

The time series plot relies on the work-horse stsplot_time1. Its arguments are (almost) similiar to plot.survRes.

Value

NULL (invisibly). The functions are called for their side-effects.

Author(s)

Michael Höhle and Sebastian Meyer

See Also

the central stsplot-documentation for an overview of plot types.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
data("ha.sts")
print(ha.sts)

plot(ha.sts, type=observed ~ time | unit)  # default multivariate type
plot(ha.sts, units = c("mitt", "pank"))    # selected units
plot(ha.sts, type=observed ~ time)         # aggregated over all districts

## Hook function example
hookFunc <- function() grid(NA,NULL,lwd=1)
plot(ha.sts, hookFunc=hookFunc)

## Use ISO8601 date formatting (see ?strptime) and no legend
data("salmNewport")
plot(aggregate(salmNewport,by="unit"), xlab="Time (weeks)",
     xaxis.tickFreq=list("%m"=atChange,"%G"=atChange),
     xaxis.labelFreq=list("%G"=atMedian),xaxis.labelFormat="%G")

## Formatting now also works for daily data (illustrate by artifical
## outbreak converted to sts object by linelist2sts)
set.seed(123)
exposureTimes <-  as.Date("2014-03-12") + sample(x=0:25,size=99,replace=TRUE)
sts <- linelist2sts(data.frame(exposure=exposureTimes),
                               dateCol="exposure",aggregate.by="1 day")
## Plot it with larger ticks for days than usual
surveillance.options("stsTickFactors"=c("%d"=1, "%W"=0.33,
                "%V"=0.33, "%m"=1.75, "%Q"=1.25, "%Y"=1.5, "%G"=1.5))
plot(sts,xaxis.tickFreq=list("%d"=atChange,"%m"=atChange),
     xaxis.labelFreq=list("%d"=at2ndChange),xaxis.labelFormat="%d-%b",
     xlab="Time (days)")

jimhester/surveillance documentation built on May 19, 2019, 10:33 a.m.