B_01_xyplot.ts {lattice} | R Documentation |
This function handles time series plotting, including cut-and-stack plots. Examples are given of superposing, juxtaposing and styling different time series.
## S3 method for class 'ts': xyplot(x, data = NULL, screens = if (superpose) 1 else colnames(x), ..., superpose = FALSE, cut = FALSE, type = "l", col = if (!superpose) plot.line$col, lty = if (!superpose) plot.line$lty, lwd = if (!superpose) plot.line$lwd, pch = if (!superpose) plot.symbol$pch, auto.key = superpose, par.settings = list(), layout = NULL, as.table = TRUE, xlab = "Time", ylab = NULL, default.scales = list(y = list(relation = if (missing(cut)) "free" else "same")))
x |
an object of class ts , which may be multi-variate,
i.e. have a matrix structure with multiple columns.
|
data |
not used, and must be left as NULL .
|
... |
additional arguments passed to xyplot ,
which may pass them on to panel.xyplot .
|
screens |
factor (or coerced to factor) whose levels specify which
panel each series is to be plotted in. screens = c(1, 2, 1)
would plot series 1, 2 and 3 in panels 1, 2 and 1. May also be a
named list, see Details below.
|
superpose |
overlays all series in one panel (via screens = 1 ) and uses
grouped style settings (from
trellis.par.get("superpose.line") , etc). Note that this is
just a convenience argument: its only action is to change the
default values of other arguments.
|
cut |
defines a cut-and-stack plot. cut can be a list of
arguments to the function equal.count ,
i.e. number (number of intervals to divide into)
and overlap (the fraction of overlap between cuts, default
0.5). If cut is numeric this is passed as the
number argument.
|
type, col, lty, lwd, pch |
graphical arguments, which are processed and eventually passed to
panel.xyplot .
These arguments can also be vectors or (named) lists, see Details
for more information.
Note that, except for type , these are not passed on to the
panel function. See Details.
|
auto.key |
a logical, or a list describing how to draw a key. See the
auto.key entry in xyplot . The default here is
to draw lines, not points, and any specified style arguments should
show up automatically.
|
par.settings |
style settings beyond the standard col , lty ,
lwd , pch ; see trellis.par.set and
simpleTheme .
|
layout |
numeric vector of length 2 specifying number of columns and rows in the plot. The default is to fill columns with up to 6 rows. |
as.table |
to draw panels from top to bottom. The order is determined by the
order of columns in x .
|
xlab, ylab |
X axis and Y axis labels; see xyplot . Note in
particular that ylab may be a character vector, in which case the
labels are spaced out equally, to correspond to the panels;
but NOTE in this case the vector should be reversed OR the
argument as.table set to FALSE .
|
default.scales |
scales specification. The default is set to have
"free" Y axis scales unless cut is given.
Note, users should pass the scales argument rather than
default.scales .
|
The handling of several graphical parameters is more
flexible for multivariate series. These parameters can be
vectors of the same length as the number of series plotted or
are recycled if shorter. They can also be (partially) named list, e.g.,
list(A = c(1,2), c(3,4))
in which c(3, 4)
is the
default value and c(1, 2)
the value only for series A
.
The screens
argument can be specified in a similar way.
NOTE: unlike xyplot
, the arguments col, lty,
lwd, pch
are not passed on to the panel function. Instead, they are
used to define graphical settings for trellis.par.set
,
and a corresponding groups
argument is passed on to the panel
function.
Some examples are given below.
An object of class "trellis"
. The
update
method can be used to
update components of the object and the
print
method (usually called by
default) will plot it on an appropriate plotting device.
Gabor Grothendieck, Achim Zeileis, Deepayan Sarkar and Felix Andrews felix@nfrac.org.
The first two authors developed xyplot.ts
in their zoo
package, including the screens
approach. The third author
developed a different xyplot.ts
for cut-and-stack plots in the
latticeExtra package. The final author fused these together.
Sarkar, Deepayan (2008) “Lattice: Multivariate Data Visualization with R”, Springer. ISBN: 978-0-387-75968-5 http://lmdvr.r-forge.r-project.org/ (cut-and-stack plots)
xyplot
,
panel.xyplot
,
plot.ts
,
ts
,
xyplot.zoo
in the zoo package.
xyplot(ts(c(1:10,10:1))) ### Figure 14.1 from Sarkar (2008) xyplot(sunspot.year, aspect = "xy", strip = FALSE, strip.left = TRUE, cut = list(number = 4, overlap = 0.05)) ### A multivariate example; first juxtaposed, then superposed xyplot(EuStockMarkets, scales = list(y = "same")) xyplot(EuStockMarkets, superpose = TRUE, aspect = "xy", lwd = 2, type = c("l","g"), ylim = c(0, max(EuStockMarkets))) ### Examples using screens (these two are identical) xyplot(EuStockMarkets, screens = c(rep("Continental", 3), "UK")) xyplot(EuStockMarkets, screens = list(FTSE = "UK", "Continental")) ### Automatic group styles xyplot(EuStockMarkets, screens = list(FTSE = "UK", "Continental"), superpose = TRUE) xyplot(EuStockMarkets, screens = list(FTSE = "UK", "Continental"), superpose = TRUE, xlim = extendrange(1996:1998), par.settings = standard.theme(color = FALSE)) ### Specifying styles for series by name xyplot(EuStockMarkets, screens = list(FTSE = "UK", "Continental"), col = list(DAX = "red", FTSE = "blue", "black"), auto.key = TRUE) xyplot(EuStockMarkets, screens = list(FTSE = "UK", "Continental"), col = list(DAX = "red"), lty = list(SMI = 2), lwd = 1:2, auto.key = TRUE) ### Example with simpler data, few data points set.seed(1) z <- ts(cbind(a = 1:5, b = 11:15, c = 21:25) + rnorm(5)) xyplot(z, screens = 1) xyplot(z, screens = list(a = "primary (a)", "other (b & c)"), type = list(a = c("p", "h"), b = c("p", "s"), "o"), pch = list(a = 2, c = 3), auto.key = list(type = "o"))