# arrows: Add Arrows to a Plot

Description Usage Arguments Details Note References See Also Examples

### Description

Draw arrows between pairs of points.

### Usage

 ```1 2 3``` ```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

 ```1 2 3 4 5 6 7 8``` ```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") ```

Questions? Problems? Suggestions? or email at ian@mutexlabs.com.

Please suggest features or report bugs with the GitHub issue tracker.

All documentation is copyright its authors; we didn't write any of that.