Lattice {lattice} | R Documentation

## Lattice Graphics

### Description

Implementation of Trellis Graphics in R

### Details

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.

### Note

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.

### Author(s)

Deepayan Sarkar deepayan@stat.wisc.edu

### References

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/

### See Also

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.

[Package Contents]