splom                package:lattice                R Documentation

Scatter Plot Matrices

Description:

     Draw Conditional Scatter Plot Matrices and Parallel Coordinate
     Plots

Usage:

     splom(x, data, ...)
     parallel(x, data, ...)

     ## S3 method for class 'formula':
     splom(x,
           data,
           auto.key = FALSE,
           aspect = 1,
           between = list(x = 0.5, y = 0.5),
           panel = lattice.getOption("panel.splom"),
           prepanel,
           scales,
           strip,
           groups,
           xlab,
           xlim,
           ylab = NULL,
           ylim,
           superpanel = lattice.getOption("panel.pairs"),
           pscales = 5,
           varnames,
           drop.unused.levels,
           ...,
           lattice.options = NULL,
           default.scales,
           subset = TRUE)
     ## S3 method for class 'formula':
     parallel(x,
              data,
              auto.key = FALSE,
              aspect = "fill",
              between = list(x = 0.5, y = 0.5),
              panel = lattice.getOption("panel.parallel"),
              prepanel,
              scales,
              strip,
              groups,
              xlab = NULL,
              xlim,
              ylab = NULL,
              ylim,
              varnames,
              horizontal.axis = TRUE,
              drop.unused.levels,
              ...,
              lattice.options = NULL,
              default.scales,
              subset = TRUE)

     ## S3 method for class 'data.frame':
     splom(x, data = NULL, ..., groups = NULL, subset = TRUE)
     ## S3 method for class 'matrix':
     splom(x, data = NULL, ..., groups = NULL, subset = TRUE)

     ## S3 method for class 'matrix':
     parallel(x, data = NULL, ..., groups = NULL, subset = TRUE)
     ## S3 method for class 'data.frame':
     parallel(x, data = NULL, ..., groups = NULL, subset = TRUE)

Arguments:

       x: The object on which method dispatch is carried out.

          For the '"formula"' method, a formula describing the
          structure of the plot, which should be of the form '~ x | g1
          * g2 * ...', where 'x' is a data frame or matrix.  Each of
          'g1,g2,...' must be either factors or shingles. The
          conditioning variables 'g1, g2, ...' may be omitted.

          For the 'data.frame' methods, a data frame. 

    data: For the 'formula' methods, an optional data frame in which
          variables in the formula (as well as 'groups' and 'subset',
          if any) are to be evaluated. 

  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
          functions is played here by the 'superpanel' function, which
          is responsible for the display for each conditional data
          subset. 'panel' is simply an argument to the default
          'superpanel' function 'panel.pairs', and is passed on to it
          unchanged. It is used there to create each pairwise display.
          See 'panel.pairs' for more useful options.

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 function 'panel.pairs'. The
          help page for the latter documents this argument in more
          detail. 

varnames: character vector giving the names of the p variables in x. By
          default, the column names of x. 

horizontal.axis: logical indicating whether the parallel axes should be
          laid out horizontally ('TRUE') or vertically ('FALSE'). 

auto.key, prepanel, scales,
strip, groups, xlab, xlim, ylab, ylim, drop.unused.levels,
lattice.options, default.scales, subset: 
          See 'xyplot' 

     ...: Further arguments.  See corresponding entry in 'xyplot' for
          non-trivial details.  

Details:

     'splom' produces Scatter Plot Matrices.  The role usually played
     by 'panel' is taken over by 'superpanel', which takes a data frame
     subset and is responsible for plotting it.  It is called with the
     coordinate system set up to have both x- and y-limits from '0.5'
     to 'ncol(z) + 0.5'.  The only built-in option currently available
     is 'panel.pairs', which calls a further panel function for each
     pair '(i, j)' of variables in 'z' inside a rectangle of unit width
     and height centered at 'c(i, j)' (see 'panel.pairs' for details).

     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.

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.

Author(s):

     Deepayan Sarkar Deepayan.Sarkar@R-project.org

See Also:

     'xyplot', 'Lattice', 'panel.pairs, \code{panel.parallel} '

Examples:

     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\nLength", "Sepal\nWidth", "Petal\nLength"),
           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) 
     parallel(~iris[1:4], iris, groups = Species,
              horizontal.axis = FALSE, scales = list(x = list(rot = 90)))

