Time-Series Plots for "sts"
Objects Using ggplot2
sts_ggplot.Rd
A simple ggplot2 variant of stsplot_time
,
based on a “tidy” version of the "sts"
object via
tidy.sts
.
It uses a date axis and thus only works for time series indexed by
dates or with a standard frequency (daily, (bi-)weekly, or monthly).
Usage
autoplot.sts(object, population = FALSE, units = NULL,
as.one = FALSE, scales = "fixed", width = NULL, ...)
Arguments
- object
an object of class
"sts"
.- population
logical indicating whether
observed(object)
should be divided bypopulation(object)
. Thepopulation
argument can also be a scalar, which is used to scale the denominatorpopulation(object)
, i.e.,observed(object)
is divided bypopulation(object) / population
. For instance, ifpopulation(object)
contains raw population numbers,population = 1000
could be used to plot the incidence per 1000 inhabitants.- units
optional integer or character vector to select the units (=columns of
object
) to plot. The default (NULL
) is to plot all time series.- as.one
logical indicating if all time series should be plotted in one panel with
geom_line
. By default, the time series are plotted in separate panels (usinggeom_col
).- scales
passed to
facet_wrap
(foras.one=FALSE
). By default, all panels use a commonylim
(andxlim
).- width
bar width, passed to
geom_col
. Defaults to 7 for weekly time series.- ...
unused (argument of the generic).
See also
stsplot_time
for the traditional plots.
Examples
## compare traditional plot() with ggplot2-based autoplot.sts()
if (requireNamespace("ggplot2")) {
data("measlesDE")
plot(measlesDE, units = 1:2)
autoplot.sts(measlesDE, units = 1:2)
}
## weekly incidence: population(measlesDE) gives population fractions,
## which we need to multiply by the total population
if (require("ggplot2", quietly = TRUE)) {
autoplot.sts(measlesDE, population = 1000000/82314906) +
ylab("Weekly incidence [per 1'000'000 inhabitants]")
}