# abline

##### Add Straight Lines to a Plot

This function adds one or more straight lines through the current plot.

- Keywords
- aplot

##### Usage

`abline(a = NULL, b = NULL, h = NULL, v = NULL, reg = NULL, coef = NULL, untf = FALSE, ...)`

##### Arguments

- 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
`coef`

method. See ‘Details’. - ...
- graphical parameters such as
`col`

,`lty`

and`lwd`

(possibly as vectors: see ‘Details’) and`xpd`

and the line characteristics`lend`

,`ljoin`

and`lmitre`

.

##### Details

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.

##### References

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.

##### See Also

`lines`

and `segments`

for connected and
arbitrary lines given by their *endpoints*.
`par`

.

##### Examples

`library(graphics)`

```
## 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")
```

*Documentation reproduced from package graphics, version 3.0.3, License: Part of R 3.0.3*