All the high level lattice functions such as xyplot
produce an
object of (S3) class "trellis"
, which is usually printed by its
print
method. However, the object itself can be manipulated and
modified to a large extent using the update
method, and then
re-plotted as needed. Most arguments to high level functions can also be supplied to the
update
method as well, with some exceptions. Generally
speaking, anything that would needs to change the data within each
panel is a no-no (this includes the formula, data, groups,
subscripts
and subset
). Everything else is technically game,
though might not be implemented yet. If you find something missing
that you wish to have, feel free to make a request.
Not all arguments accepted by a Lattice function are processed by
update
, but the following should work (they are described in
the help page for xyplot
):
panel
, aspect
, as.table
, between
,
key
, auto.key
, legend
, layout
,
main
, page
, par.strip.text
, prepanel
,
scales
, skip
, strip
, sub
, xlab
,
xlim
, ylab
, ylim
, par.settings
,
index.cond
, perm.cond
Any other argument is added to the list of arguments to be passed to
the panel
function. Because of their somewhat special nature,
updates to objects produced by cloud
and wireframe
do
not work very well yet.
The "["
method is a convenient shortcut for updating
index.cond
. The t
method is a convenient shortcut for
updating perm.cond
in the special (but frequent) case where
there are exactly two conditioning variables, when it has the effect
of switching (transposing) their order.
The print method for "trellis"
objects optionally saves the
object after printing it. If this feature is on,
trellis.last.object
can retrieve it. Note that at most one
object can be saved at a time. If trellis.last.object
is called with arguments, these are used to update the retrieved
object before returning it.