Learn R Programming

sfsmisc (version 0.9-4)

p.ts: plot.ts with multi-plots and Auto-Title -- on 1 page

Description

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

Usage

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), ...)

Arguments

x
timeseries (possibly multivariate) or numeric vector.
nrplots
number of sub-plots. Default: in {1..8}, approximately n/400 if possible.
overlap
by how much should subsequent plots overlap. Defaults to about 1/16 of sub-length on each side.
date.x
a time vector of the same length as x and coercable to class "POSIXct" (see DateTimeClasses).
do.x.axis
logical specifying if an x axis should be drawn (i.e., tick marks and labels).
do.x.rug
logical specifying if rug of date.x values should drawn along the x axis.
ax.format
when do.x.axis is true, specify the format to be used in the call to axis.POSIXct.
main.tit
Main title (over all plots). Defaults to name of x.
ylim
numeric(2) or NULL; if the former, specifying the y-range for the plots. Defaults to a common pretty range.
ylab, xlab
labels for y- and x-axis, see description in plot.default.
quiet
logical; if TRUE, there's no reporting on each subplot.
mgp
numeric(3) to be passed to mult.fig(), see par(mgp = .).
...
further graphic parameters for each plot.ts(..).

Side Effects

A page of nrplots subplots is drawn on the current graphics device.

See Also

p.ts() calls mult.fig() for setup. Further, plot.ts and plot.

Examples

Run this code
require(stats) # package

data(sunspots)
p.ts(sunspots, nr=1) # == usual  plot.ts(..)
p.ts(sunspots)
p.ts(sunspots, nr=3, col=2)

## multivariate :
data(EuStockMarkets)
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