xy.coords
is used by many functions to obtain
x and y coordinates for plotting. The use of this common mechanism
across all relevant R functions produces a measure of consistency.
1 2 
x, y 
the x and y coordinates of a set of points.
Alternatively, a single argument 
xlab, ylab 
names for the x and y variables to be extracted. 
log 
character, 
recycle 
logical; if 
setLab 
logical indicating if the resulting 
An attempt is made to interpret the arguments x
and y
in
a way suitable for bivariate plotting (or other bivariate procedures).
If y
is NULL
and x
is a
of the form yvar ~ xvar
. xvar
and
yvar
are used as x and y variables.
containing components x
and y
, these are
used to define plotting coordinates.
the x values are taken to be
time(x)
and the y values to be the time series.
data.frame
with two or more
columns:the first is assumed to contain the x values and the
second the y values. Note that is also true if x
has columns named "x"
and "y"
; these names will be
irrelevant here.
In any other case, the x
argument is coerced to a vector and
returned as y component where the resulting x
is just
the index vector 1:n
. In this case, the resulting xlab
component is set to "Index"
(if setLab
is true as by default).
If x
(after transformation as above) inherits from class
"POSIXt"
it is coerced to class "POSIXct"
.
A list with the components
x 
numeric (i.e., 
y 
numeric vector of the same length as 
xlab 

ylab 

plot.default
, lines
, points
and lowess
are examples of functions which use this mechanism.
1 2 3 4 5 6 7 8 9  ff < stats::fft(1:9)
xy.coords(ff)
xy.coords(ff, xlab = "fft") # labels "Re(fft)", "Im(fft)"
with(cars, xy.coords(dist ~ speed, NULL)$xlab ) # = "speed"
xy.coords(1:3, 1:2, recycle = TRUE) # otherwise error "lengths differ"
xy.coords(2:10, log = "y")
##> xlab: "Index" \\ warning: 3 y values <= 0 omitted ..

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.
Please suggest features or report bugs in the GitHub issue tracker.
All documentation is copyright its authors; we didn't write any of that.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.