
Last chance! 50% off unlimited learning
Sale ends in
For longer time-series, it is sometimes important to spread the time-series plots over several subplots. p.ts(.) does this both automatically, and under manual control.
Actually, this is a generalization of plot.ts
(with different defaults).
p.ts(x, nrplots = max(1, min(8, n %/% 400)), overlap = nk %/% 16,
date.x = NULL, do.x.axis = !is.null(date.x), do.x.rug = FALSE,
ax.format, main.tit = NULL, ylim = NULL, ylab = "", xlab = "Time",
quiet = FALSE, mgp = c(1.25, .5, 0), ...)
timeseries (possibly multivariate) or numeric vector.
number of sub-plots. Default: in {1..8},
approximately n/400
if possible.
by how much should subsequent plots overlap. Defaults to about 1/16 of sub-length on each side.
a time “vector” of the same length as x
and coercable to class "POSIXct"
(see DateTimeClasses).
logical specifying if an x axis should be drawn (i.e., tick marks and labels).
logical specifying if rug
of
date.x
values should drawn along the x axis.
when do.x.axis
is true, specify the
format
to be used in the call to axis.POSIXct
.
Main title (over all plots). Defaults to name
of x
.
numeric(2) or NULL; if the former, specifying the y-range for the plots. Defaults to a common pretty range.
labels for y- and x-axis respectively, see
description in plot.default
.
logical; if TRUE
, there's no reporting on each subplot.
numeric(3) to be passed to mult.fig()
, see
par(mgp = .)
.
further graphic parameters for each plot.ts(..)
.
A page of nrplots
subplots is drawn on the current
graphics device.
Martin Maechler, maechler@stat.math.ethz.ch; July 1994 (for S).
stopifnot(require(stats))
## stopifnot(require(datasets))
data(sunspots)
p.ts(sunspots, nr=1) # == usual plot.ts(..)
p.ts(sunspots)
p.ts(sunspots, nr=3, col=2)
data(EuStockMarkets)
p.ts(EuStockMarkets[,"SMI"])
## multivariate :
p.ts(log10(EuStockMarkets), col = 2:5)
## with Date - x-axis (dense random dates):
set.seed(12)
x <- as.Date("2000-02-29") + cumsum(1+ rpois(1000, lambda= 2.5))
z <- cumsum(.1 + 2*rt(1000, df=3))
p.ts(z, 4, date.x = x)
p.ts(z, 6, date.x = x, ax.format = "%b %Y", do.x.rug = TRUE)
Run the code above in your browser using DataLab