Specify a scatterplot or add points, lines, or text via a formula.
1 2 3 4 5 6 7 8 9 10 11 12  ## S3 method for class 'formula'
plot(formula, data = parent.frame(), ..., subset,
ylab = varnames[response], ask = dev.interactive())
## S3 method for class 'formula'
points(formula, data = parent.frame(), ..., subset)
## S3 method for class 'formula'
lines(formula, data = parent.frame(), ..., subset)
## S3 method for class 'formula'
text(formula, data = parent.frame(), ..., subset)

formula 
a 
data 
a data.frame (or list) from which the variables in

... 
Arguments to be passed to or from other methods.

subset 
an optional vector specifying a subset of observations to be used in the fitting process. 
ylab 
the y label of the plot(s). 
ask 
logical, see 
For the lines
, points
and text
methods the formula
should be of the form y ~ x
or y ~ 1
with a lefthand
side and a single term on the righthand side. The plot
method
accepts other forms discussed later in this section.
Both the terms in the formula and the ...
arguments are
evaluated in data
enclosed in parent.frame()
if
data
is a list or a data frame. The terms of the formula and
those arguments in ...
that are of the same length as
data
are subjected to the subsetting specified in
subset
. A plot against the running index can be specified as
plot(y ~ 1)
.
If the formula in the plot
method contains more than one term
on the righthand side, a series of plots is produced of the response
against each nonresponse term.
For the plot
method the formula can be of the form
~ z + y + z
: the variables specified on the righthand side are
collected into a data frame, subsetted if specified, and displayed by
plot.data.frame
.
Missing values are not considered in these methods, and in particular cases with missing values are not removed.
If y
is an object (i.e., has a class
attribute)
then plot.formula
looks for a plot method for that class first.
Otherwise, the class of x
will determine the type of the plot.
For factors this will be a parallel boxplot, and argument
horizontal = TRUE
can be specified (see boxplot
).
Note that some arguments will need to be protected from premature
evaluation by enclosing them in quote
: currently this is
done automatically for main
, sub
and xlab
. For
example, it is needed for the panel.first
and panel.last
arguments passed to plot.default
.
These functions are invoked for their side effect of drawing on the active graphics device.
plot.default
, points
, lines
,
plot.factor
.
1 2 3 4 5 6 7 8 9 10 11  op < par(mfrow = c(2,1))
plot(Ozone ~ Wind, data = airquality, pch = as.character(Month))
plot(Ozone ~ Wind, data = airquality, pch = as.character(Month),
subset = Month != 7)
par(op)
## text.formula() can be very natural:
wb < within(warpbreaks, {
time < seq_along(breaks); W.T < wool:tension })
plot(breaks ~ time, data = wb, type = "b")
text(breaks ~ time, data = wb, label = W.T, col = 1+as.integer(wool))

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.
All documentation is copyright its authors; we didn't write any of that.