arrows               package:graphics               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.

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:

     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')

