Learn R Programming

lattice (version 0.10-10)

splom: Scatter Plot Matrices

Description

Draw Conditional Scatter Plot Matrices and Parallel Coordinate Plots

Usage

splom(formula,
      data,
      aspect = 1,
      between = list(x = 0.5, y = 0.5),
      panel = if (is.null(groups)) "panel.splom" else "panel.superpose",
      superpanel = "panel.pairs",
      pscales = 5,
      varnames, ...)
parallel(formula,
         data,
         between = list(x = 0.5, y = 0.5),
         panel = "panel.parallel",
         varnames,
         ...)

Arguments

formula
a formula describing the structure of the plot, which should be of the form ~ x | g1 * g2 * ..., where x is a data frame or a matrix. Each of g1,g2,... must be either factors or shingles. The conditioning
data
a data frame containing values for any variables in the formula. By default the environment where the function was called from is used.
aspect
aspect ratio of each panel (and subpanel), square by default for splom.
between
to avoid confusion between panels and subpanels, the default is to show the panels of a splom plot with space between them.
panel
Usual interpretation for parallel, namely the function that creates the display within each panel.

For splom, the terminology is slightly complicated. The role played by the panel function in most other high-level f

superpanel
function that sets up the splom display, by default as a scatterplot matrix.
pscales
a numeric value or a list, meant to be a less functional substitute for the scales argument in xyplot etc. This argument is passed to the superpanel function, and is handled by the default superpanel func
varnames
character vector giving the names of the p variables in x. By default, the column names of x.
...
other arguments

Value

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

synopsis

splom(formula, data = parent.frame(), auto.key = FALSE, aspect = 1, between = list(x = 0.5, y = 0.5), panel = if (is.null(groups)) "panel.splom" else "panel.superpose", prepanel = NULL, scales = list(), strip = TRUE, groups = NULL, xlab = "Scatter Plot Matrix", xlim, ylab = NULL, ylim, superpanel = "panel.pairs", pscales = 5, varnames, drop.unused.levels, ..., default.scales, subset = TRUE) parallel(formula, data = parent.frame(), aspect = "fill", between = list(x = 0.5, y = 0.5), panel = "panel.parallel", prepanel = NULL, scales = list(), strip = TRUE, groups = NULL, xlab = NULL, xlim, ylab = NULL, ylim, varnames, drop.unused.levels, ..., default.scales, subset = TRUE)

Details

splom produces Scatter Plot Matrices. The role usually played by panel is taken over by superpanel, which determines how the columns of x are to be arranged for pairwise plots. The only available option currently is panel.pairs.

Many of the finer customizations usually done via arguments to high level function like xyplot are instead done by panel.pairs for splom. These include control of axis limits, tick locations and prepanel calcultions. If you are trying to fine-tune your splom plot, definitely look at the panel.pairs help page. The scales argument is usually not very useful in splom, and trying to change it may have undesired effects.

parallel draws Parallel Coordinate Plots. (Difficult to describe, see example.) These and all other high level Trellis functions have several arguments in common. These are extensively documented only in the help page for xyplot, which should be consulted to learn more detailed usage.

See Also

xyplot, Lattice, panel.pairs

Examples

Run this code
super.sym <- trellis.par.get("superpose.symbol")
splom(~iris[1:4], groups = Species, data = iris,
      panel = panel.superpose,
      key = list(title = "Three Varieties of Iris",
                 columns = 3, 
                 points = list(pch = super.sym$pch[1:3],
                 col = super.sym$col[1:3]),
                 text = list(c("Setosa", "Versicolor", "Virginica"))))
splom(~iris[1:3]|Species, data = iris, 
      layout=c(2,2), pscales = 0,
      varnames = c("Sepal
Length", "Sepal
Width", "Petal
Length"),
      page = function(...) {
          ltext(x = seq(.6, .8, len = 4), 
                y = seq(.9, .6, len = 4), 
                lab = c("Three", "Varieties", "of", "Iris"),
                cex = 2)
      })
parallel(~iris[1:4] | Species, iris)

Run the code above in your browser using DataLab