arrows {graphics} R Documentation

## Add Arrows to a Plot

### Description

Draw arrows between pairs of points.

### 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.

`segments` to draw segments.

### Examples

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

[Package graphics version 3.6.0 Index]