Last chance! 50% off unlimited learning
Sale ends in
Utility for obtaining consistent x, y and z coordinates and labels for three dimensional (3D) plots.
xyz.coords(x, y = NULL, z = NULL,
xlab = NULL, ylab = NULL, zlab = NULL,
log = NULL, recycle = FALSE, setLab = TRUE)
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.
names for the x, y and z variables to be extracted.
character, "x"
, "y"
, "z"
or combinations.
Sets negative values to NA
and gives a warning.
logical; if TRUE
, recycle (rep
) the
shorter ones of x
, y
or z
if their lengths differ.
logical indicating if the resulting xlab
and
ylab
should be constructed from the “kind” of (x,y)
;
otherwise, the arguments xlab
and ylab
are used.
A list with the components
numeric (i.e., double
) vector of abscissa values.
numeric vector of the same length as x
.
numeric vector of the same length as x
.
character(1)
or NULL
, the axis label of x
.
character(1)
or NULL
, the axis label of y
.
character(1)
or NULL
, the axis label of z
.
xy.coords
for 2D.
# NOT RUN {
xyz.coords(data.frame(10*1:9, -4), y = NULL, z = NULL)
xyz.coords(1:5, stats::fft(1:5), 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 ...
# }
Run the code above in your browser using DataLab