| % File src/library/graphics/man/abline.Rd |
| % Part of the R package, https://www.R-project.org |
| % Copyright 1995-2011 R Core Team |
| % Distributed under GPL 2 or later |
| |
| \name{abline} |
| \alias{abline} |
| \title{Add Straight Lines to a Plot} |
| \description{ |
| This function adds one or more straight lines through the current plot. |
| } |
| \usage{ |
| abline(a = NULL, b = NULL, h = NULL, v = NULL, reg = NULL, |
| coef = NULL, untf = FALSE, ...) |
| } |
| \arguments{ |
| \item{a, b}{the intercept and slope, single values.} |
| \item{untf}{logical asking whether to \emph{untransform}. See |
| \sQuote{Details}.} |
| \item{h}{the y-value(s) for horizontal line(s).} |
| \item{v}{the x-value(s) for vertical line(s).} |
| \item{coef}{a vector of length two giving the intercept and slope.} |
| \item{reg}{an object with a \code{\link{coef}} method. See \sQuote{Details}.} |
| \item{\dots}{\link{graphical parameters} such as |
| \code{col}, \code{lty} and \code{lwd} (possibly as vectors: see |
| \sQuote{Details}) and \code{xpd} and the line characteristics |
| \code{lend}, \code{ljoin} and \code{lmitre}.} |
| } |
| \details{ |
| Typical usages are |
| \preformatted{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 \code{a} can be specified on its own and is taken to |
| contain the slope and intercept in vector form). |
| |
| The \code{h=} and \code{v=} forms draw horizontal and vertical lines |
| at the specified coordinates. |
| |
| The \code{coef} form specifies the line by a vector containing the |
| slope and intercept. |
| |
| \code{reg} is a regression object with a \code{\link{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 \code{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 |
| \code{h} and \code{v} parameters always refer to original coordinates. |
| |
| The \link{graphical parameters} \code{col}, \code{lty} and \code{lwd} |
| can be specified; see \code{\link{par}} for details. For the |
| \code{h=} and \code{v=} usages they can be vectors of length greater |
| than one, recycled as necessary. |
| |
| Specifying an \code{xpd} argument for clipping overrides |
| the global \code{\link{par}("xpd")} setting used otherwise. |
| } |
| \references{ |
| Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) |
| \emph{The New S Language}. |
| Wadsworth & Brooks/Cole. |
| |
| Murrell, P. (2005) \emph{R Graphics}. Chapman & Hall/CRC Press. |
| } |
| \seealso{ |
| \code{\link{lines}} and \code{\link{segments}} for connected and |
| arbitrary lines given by their \emph{endpoints}. |
| \code{\link{par}}. |
| } |
| \examples{ |
| ## 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") |
| } |
| \keyword{aplot} |