Lattice {lattice} | R Documentation |
Implementation of Trellis Graphics in R
Trellis Graphics is a framework for data visualization developed at the Bell Labs by Rick Becker, Bill Cleveland et al, extending ideas presented in Bill Cleveland's 1993 book Visualizing Data.
Lattice is best thought of as an implementation of Trellis Graphics
for R. Its interface is based on the implementation in S-PLUS,
but there are several differences. To the extent possible, care has
been taken to ensure that existing Trellis code written for S-PLUS
works unchanged (or with minimal change) in Lattice. If you are having
problems porting S-PLUS code, read the entry for panel
in
the documentation for xyplot
. The Lattice website
referenced below has some useful material as well.
Most high level Trellis functions in S-PLUS are implemented, with the
exception of piechart
.
Lattice is built upon the Grid Graphics engine for R being developed
by Paul Murrell and requires the grid
add-on package.
Type library(help = lattice)
to see a list of (public)
Lattice graphics functions for which further documentation is
available. Apart from the documentation accompanying this package,
several documents outlining the use of Trellis graphics is available
from Bell Lab's website that might provide a holistic introduction to
the Trellis paradigm. Lattice also has a website with some tips.
High level Lattice functions (like xyplot
) are different
from conventional S graphics functions because they don't actually
draw anything. Instead, they return an object of class ``trellis''
which has to be then print
ed. This often causes confusion when
the high level functions are called inside another function (most
often source
) and hence don't produce any output.
Lattice plots are highly customizable via user-modifiable settings.
However, these are completely unrelated to base graphics settings; in
particular, changing par()
settings have no effect on lattice
plots.
Deepayan Sarkar deepayan@stat.wisc.edu
Bell Lab's Trellis Page: http://cm.bell-labs.com/cm/ms/departments/sia/project/trellis/
Cleveland, W.S. (1993) Visualizing Data.
Becker, R.A., Cleveland, W.S. and Shyu, M. ``The Visual Design and Control of Trellis Display'', Journal of Computational and Graphical Statistics
Lattice Webpage: http://packages.r-project.org/lattice/
To get a general idea of what arguments are generally accepted by
Lattice functions, see xyplot
.
To learn how to customise the Graphical parameters used by the Lattice
functions, see trellis.par.set
and lset
.
To learn how to initialise new devices or change the settings of the
current device, see trellis.device
To learn about sophisticated (non-default) printing capabilities, see
print.trellis
. Also described there are the
possibilities to enhance the plots thus produced (using locator
like functionality).
Here is a list of `high level' functions in the Lattice library with a brief description of what they do:
Univariate:
barchart
bar plots
bwplot
box and whisker plots
densityplot
kernel density plots
dotplot
dot plots
histogram
histograms
qqmath
quantile plots against mathematical distributions
stripplot
1-dimensional scatterplot
Bivariate:
qq
q-q plot for comparing two distributions
xyplot
scatter plot (and possibly a lot more)
Trivariate:
levelplot
level plots (similar to image plots in R)
contourplot
contour plots
cloud
3-D scatter plots
wireframe
3-D surfaces (similar to persp plots in R)
Hypervariate:
splom
scatterplot matrix
parallel
parallel coordinate plots
Miscellaneous:
rfs
residual and fitted value plot (also see
oneway
)
tmd
Tukey Mean-Difference plot
Lattice also has a collection of convenience functions that correspond
to the base graphics primitives lines
,
points
, etc. They are implemented using Grid graphics,
but try to be as close to the base versions as possible in terms of
their argument list. These functions have imaginative names like
llines
are are often useful when writing (or porting
from S-PLUS code) nontrivial panel functions.