These functions add smooths or reference lines to an existing pl plot.
plsmooth(x = NULL, y = NULL, ysec = NULL, band=NULL, power = NULL,
group = NULL, weight = NULL, smooth = TRUE,
plargs = NULL, ploptions = NULL, xy = TRUE, ...)plsmoothline(smoothline = NULL, x = NULL, y = NULL, ysec = NULL,
smooth.col = NULL, smooth.lty = NULL, smooth.lwd = NULL,
plargs = NULL, ploptions = NULL, marpar = NULL, ...)
plrefline(refline, x=NULL, innerrange=NULL, y=NULL,
cutrange = c(x = TRUE, y = FALSE), plargs=NULL, ploptions=NULL, ...)
plsmooth invisibly returns the data.frame needed for
drawing the smooth line. The other functions return NULL
coordinates for the horizontal and veritical axis,
respectively. If NULL, they will be retrieved from
plargs$pldata.
for plsmooth, plsmoothline:
matrix of secondary y values. The smooths generated or given by its
columns will be drawn thinner and with paled color.
logical: should a band (e.g., a confidence band) be drawn together with the smooth?
for plsmooth: smooth will be calcutated for
y^power and the back-transformed. Usually, power=0.
for plsmooth: grouping variable.
If NULL, the variable .smooth.group. column in
plargs$pldata will be used if available.
If group is of length 1, there will be no grouping
weights of observations used for generating the smooth
logical: should smooth be done? Will almost always be
TRUE
for plsmoothline: result of a smooth fitting
for plsmoothline:
color, line type and line width for the smooth line(s).
By default, they will be taken from ploptions.
for plrefline:
A two element vector giving intercept and slope of a straight line,
or a function that returns these as the first 2 elemnts of the
result's coef component, such as lm.
For more possibilities, see Details.
for plrefline: inner range in x direction -
only needed if the refline should be clipped at a range different
from the innerrange attribute of the horizontal variable
for plrefline: logical vector of length 2:
should the reference line(s) be cut at the inner plotting ranges in
x- and y-direction?
Otherwise, it will be continued outside it with the appropriate
transformation.
result of pl.control, see Details
margin parameters, if already available.
By default, they will be retieved from ploptions.
logical: should the coordinates be obtained as in
high level graphics? This is set to FALSE to save time and
avoid complications, in case the user is sure that x and
y are vectors rather than formulas or variable names.
absorbs extra arguments
Werner A. Stahel
The argument refline accepts different types of values.
If it is a function, it must either accept a formula
(which will be y~x) as its first argument or
x and y as the first two arguments.
Alternatively, refline can be
a list with components x and y
and possibly a component band that contains the coordinates
of the line (or lines, if y is a matrix) and the width of
a band around it (that is, additional lines, to be drawn with
ploptions("refline.col")[2]).
In order to obtain more than one reference line, a list of such
items may be given. It should not have compontents named
coef, coefficients, x or y, since it would otherwise
be mistaken for an argument of the types just described.
The components may carry attributes lty, lwd and lcol
to specify the properties of the lines individually. See Examples.
plsmooth and plrefline are very similar.
They are both called by high level pl functions.
plsmooth gets its smoothing function from
ploptions("smooth.function").
Their properties (line type, width, color) come from different
sets of pl options. plsmooth can also respect a group
structure in the data.
If x or y has an attribute "numvalues",
these are used as the values to calculate the smooth or the
refline.
plargs and ploptions may be specified explicitly,
but they are usually generated by calling pl.control.
The argument getpar is used for setting the graphical
parameters mar, mgp according to ploptions?
This is needed if the high level pl function has changed mar,
since this change has been reversed when the function was left.
By default, these graphical parameters will be retieved from
pl.envir$ploptions.
pl.control
plyx(Sepal.Width ~ Sepal.Length, data=iris, smooth=TRUE,
smooth.group=Species, pch=Species)
plsmooth(smooth.group=FALSE)
## plrefline called from plyx
plyx(Sepal.Width ~ Sepal.Length, data=iris, smooth=TRUE, pch=Species,
smooth.group=iris$Species, refline=lm)
## more reference lines
plrefline(list(c(-2,1), structure(c(-2.3,1), lcol="purple", lty=1)))
Run the code above in your browser using DataLab