xyz.coords             package:grDevices             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 = NULL, z = NULL,
                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. Both 'y' and
          'z' can be left at 'NULL'.  In this case, an attempt is made
          to interpret 'x' 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 or 'data.frame' with three or more
          columns, the first is assumed to contain the x values, the
          2nd the y ones, and the 3rd the z ones - independently of any
          column names that 'x' may have.

          Alternatively two arguments 'x' and 'y' can be provided
          (leaving 'z = NULL').  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:

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

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

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

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

