abline {graphics} | R Documentation |
This function adds one or more straight lines through the current plot.
abline(a = NULL, b = NULL, h = NULL, v = NULL, reg = NULL, coef = NULL, untf = FALSE, ...)
a, b |
the intercept and slope, single values. |
untf |
logical asking whether to untransform. See ‘Details’. |
h |
the y-value(s) for horizontal line(s). |
v |
the x-value(s) for vertical line(s). |
coef |
a vector of length two giving the intercept and slope. |
reg |
an object with a |
... |
graphical parameters such as
|
Typical usages are
abline(a, b, untf = FALSE, \dots) abline(h =, untf = FALSE, \dots) abline(v =, untf = FALSE, \dots) abline(coef =, untf = FALSE, \dots) abline(reg =, untf = FALSE, \dots)
The first form specifies the line in intercept/slope form
(alternatively a
can be specified on its own and is taken to
contain the slope and intercept in vector form).
The h=
and v=
forms draw horizontal and vertical lines
at the specified coordinates.
The coef
form specifies the line by a vector containing the
slope and intercept.
reg
is a regression object with a coef
method.
If this returns a vector of length 1 then the value is taken to be the
slope of a line through the origin, otherwise, the first 2 values are
taken to be the intercept and slope.
If untf
is true, and one or both axes are log-transformed, then
a curve is drawn corresponding to a line in original coordinates,
otherwise a line is drawn in the transformed coordinate system. The
h
and v
parameters always refer to original coordinates.
The graphical parameters col
, lty
and lwd
can be specified; see par
for details. For the
h=
and v=
usages they can be vectors of length greater
than one, recycled as necessary.
Specifying an xpd
argument for clipping overrides
the global par("xpd")
setting used otherwise.
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
Murrell, P. (2005) R Graphics. Chapman & Hall/CRC Press.
lines
and segments
for connected and
arbitrary lines given by their endpoints.
par
.
## Setup up coordinate system (with x == y aspect ratio): plot(c(-2,3), c(-1,5), type = "n", xlab = "x", ylab = "y", asp = 1) ## the x- and y-axis, and an integer grid abline(h = 0, v = 0, col = "gray60") text(1,0, "abline( h = 0 )", col = "gray60", adj = c(0, -.1)) abline(h = -1:5, v = -2:3, col = "lightgray", lty = 3) abline(a = 1, b = 2, col = 2) text(1,3, "abline( 1, 2 )", col = 2, adj = c(-.1, -.1)) ## Simple Regression Lines: require(stats) sale5 <- c(6, 4, 9, 7, 6, 12, 8, 10, 9, 13) plot(sale5) abline(lsfit(1:10, sale5)) abline(lsfit(1:10, sale5, intercept = FALSE), col = 4) # less fitting z <- lm(dist ~ speed, data = cars) plot(cars) abline(z) # equivalent to abline(reg = z) or abline(coef = coef(z)) ## trivial intercept model abline(mC <- lm(dist ~ 1, data = cars)) ## the same as abline(a = coef(mC), b = 0, col = "blue")