Add Straight Lines to a Plot
This function adds one or more straight lines through the current plot.
the intercept and slope, single values.
logical asking whether to untransform. See ‘Details’.
the y-value(s) for horizontal line(s).
the x-value(s) for vertical line(s).
a vector of length two giving the intercept and slope.
an object with a
graphical parameters such as
Typical usages are
1 2 3 4 5
The first form specifies the line in intercept/slope form
a can be specified on its own and is taken to
contain the slope and intercept in vector form).
v= forms draw horizontal and vertical lines
at the specified coordinates.
coef form specifies the line by a vector containing the
slope and intercept.
reg is a regression object with a
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.
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
v parameters always refer to original coordinates.
The graphical parameters
can be specified; see
par for details. For the
v= usages they can be vectors of length greater
than one, recycled as necessary.
xpd argument for clipping overrides
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.
segments for connected and
arbitrary lines given by their endpoints.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
## 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")
Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.