R: Add Arrows to a Plot

arrows {base} | R Documentation

## Add Arrows to a Plot

### Description

Draw arrows between pairs of points.

### Usage

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

### Arguments

`x0, y0` | coordinates of points from which to draw.
`x1, y1` | coordinates of points to which to draw.
`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, xpd` | usual graphical parameters as in `par`.

### Details

For each `i`, an arrow is drawn between the point `(x0[i], y0[i])` and the point `(x1[i],y1[i])`.

If `code=2` an arrowhead is drawn at `(x0[i],y0[i])` and if `code=1` 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` and `lty` can be used to specify a color and line texture for the line segments which make up the arrows (`col` may be a vector).

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.

### See Also

`segments` to draw segments.

### Examples

    x <- runif(12); y <- 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 Contents]