# arrows

##### Add Arrows to a Plot

Draw arrows between pairs of points.

- Keywords
- aplot

##### Usage

```
arrows(x0, y0, x1 = x0, y1 = y0, length = 0.25, angle = 30,
code = 2, col = par("fg"), lty = par("lty"),
lwd = par("lwd"), …)
```

##### Arguments

- x0, y0
coordinates of points

**from**which to draw.- x1, y1
coordinates of points

**to**which to draw. At least one must the supplied- length
length of the edges of the arrow head (in inches).

- angle
angle from the shaft of the arrow to the edge of the arrow head.

- code
integer code, determining

*kind*of arrows to be drawn.- col, lty, lwd
graphical parameters, possible vectors.

`NA`

values in`col`

cause the arrow to be omitted.- …
graphical parameters such as

`xpd`

and the line characteristics`lend`

,`ljoin`

and`lmitre`

: see`par`

.

##### Details

For each `i`

, an arrow is drawn between the point ```
(x0[i],
y0[i])
```

and the point `(x1[i], y1[i])`

. The coordinate vectors
will be recycled to the length of the longest.

If `code = 1`

an arrowhead is drawn at `(x0[i], y0[i])`

and if
`code = 2`

an arrowhead is drawn at `(x1[i], y1[i])`

. If
`code = 3`

a head is drawn at both ends of the arrow. Unless
`length = 0`

, when no head is drawn.

The graphical parameters `col`

, `lty`

and `lwd`

can be vectors of length greater than one and will be recycled if
necessary.

The direction of a zero-length arrow is indeterminate, and hence so is the direction of the arrowheads. To allow for rounding error, arrowheads are omitted (with a warning) on any arrow of length less than 1/1000 inch.

##### Note

The first four arguments in the comparable S function are named
`x1, y1, x2, y2`

.

##### References

Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988)
*The New S Language*.
Wadsworth & Brooks/Cole.

##### See Also

`segments`

to draw segments.

##### Examples

`library(graphics)`

```
x <- stats::runif(12); y <- stats::rnorm(12)
i <- order(x, y); x <- x[i]; y <- y[i]
plot(x,y, main = "arrows(.) and segments(.)")
## draw arrows from point to point :
s <- seq(length(x)-1) # one shorter than data
arrows(x[s], y[s], x[s+1], y[s+1], col = 1:3)
s <- s[-length(s)]
segments(x[s], y[s], x[s+2], y[s+2], col = "pink")
```

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