xyz.coords               package:base               R Documentation

Extracting Plotting Structures

Description:

     Utility for obtaining consistent x, y and z coordinates and labels
     for three dimensional (3D) plots.

Usage:

     xyz.coords(x, y, z, xlab=NULL, ylab=NULL, zlab=NULL, log=NULL,
         recycle=FALSE)

Arguments:

 x, y, z: the x, y and z coordinates of a set of points. Alternatively,
          a single argument `x' can be be provided. In this case, an
          attempt is made to interpret the argument in a way suitable
          for plotting.

          If the argument is a formula `zvar ~ xvar + yvar', `xvar',
          `yvar' and `zvar' are used as x, y and z variables; if the
          argument is a list containing components `x', `y' and `z',
          these are assumed to define plotting coordinates; if the
          argument is a matrix with three columns, the first is assumed
          to contain the x values, etc.

          Alternatively, two arguments `x' and `y' can be be provided.
          One may be real, the other complex; in any other case, the
          arguments are coerced to vectors and the values plotted
          against their indices. 

xlab, ylab, zlab: names for the x, y and z variables to be extracted.

     log: character, `"x"', `"y"', `"z"' or combinations. Sets negative
          values to `NA' and gives a warning.

 recycle: logical; if `TRUE', recycle (`rep') the shorter ones of `x',
          `y' or `z' if their lengths differ.

Value:

     A list with the components 

       x: numeric (i.e. `double') vector of abscissa values.

       y: numeric vector of the same length as `x'.

       z: numeric vector of the same length as `x'.

    xlab: `character(1)' or `NULL', the axis label of `x'.

    ylab: `character(1)' or `NULL', the axis label of `y'.

    zlab: `character(1)' or `NULL', the axis label of `z'.

Author(s):

     Uwe Ligges and Martin Maechler

See Also:

     `xy.coords' for 2D.

Examples:

     str(xyz.coords(data.frame(10*1:9, -4),y=NULL,z=NULL))

     str(xyz.coords(1:6, fft(1:6),z=NULL,xlab="X", ylab="Y"))

     y <- 2 * (x2 <- 10 + (x1 <- 1:10))
     str(xyz.coords(y ~ x1 + x2,y=NULL,z=NULL))

     str(xyz.coords(data.frame(x=-1:9,y=2:12,z=3:13),y=NULL,z=NULL,
         log="xy"))
     ##> Warning message: 2 x values <= 0 omitted ...

