Description Usage Arguments Details Author(s) See Also Examples

adds one or more arrows to a plot; arrowhead shape is either curved, a triangle, a circle or simple

1 2 3 4 |

`x0 ` |
x-coordinates of points *from* which to draw arrows; either one value or a vector. |

`y0 ` |
y-coordinates of points *from* which to draw arrows; either one value or a vector. |

`x1 ` |
x-coordinates of points *to* which to draw arrows; either one value or a vector. |

`y1 ` |
y-coordinates of points *to* which to draw arrows; either one value or a vector. |

`code ` |
integer code determining kind of arrows to draw. |

`arr.length ` |
approximate length of arrowhead, in cm; either one value or a vector. |

`arr.width ` |
approximate width of arrowhead, in cm; either one value or a vector. |

`arr.adj ` |
0,0.5,1 specifying the adjustment of the arrowhead. |

`arr.type ` |
type of arrowhead to draw, one of "simple", "curved", "triangle", "circle", "ellipse" or "T". |

`segment ` |
logical specifying whether or not to draw line segments. |

`col ` |
general line color specification; one value or a vector. |

`lcol ` |
line color specifications; either one value or a vector.
ignored when arr.type = |

`lty ` |
line type specifications; either one value or a vector. |

`arr.col ` |
color of arrowhead; either one value or a vector. |

`lwd ` |
general line width specification. The default value changed to 1 from version 1.4 (was 2) |

`arr.lwd ` |
line width of arrowhead. |

`... ` |
arguments passed to lines, segments or Arrowhead function. |

`x0`

, `y0`

, `x1`

, `y1`

, `arr.length`

,
`arr.width`

, `arr.adj`

, `lcol`

, `lty`

and
`arr.col`

can be a vector, of the same length.

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

If

`code`

=1 an arrowhead is drawn at '(x0[i],y0[i])'if

`code`

=2 an arrowhead is drawn at '(x1[i],y1[i])'.If

`code`

=3 an arrowhead is drawn at both ends of the arrowunless

`arr.length`

= 0, when no head is drawn.

If

`arr.adj`

= 0.5 then the centre of the arrowhead is at the point at which it is drawn.-
`arr.adj`

= 1 causes the tip of the arrowhead to touch the point. -
`arr.adj`

= 2 causes the base of the arrowhead to touch the point.

The type of the arrowhead is set with `arr.type`

which can take
the values:

"simple" : uses comparable

**R**function arrows"triangle": uses filled triangle

"curved" : draws arrowhead with curved edges

"circle" : draws circular head

"ellipse" : draws ellepsoid head

"T" : draws T-shaped (blunt) head

Karline Soetaert <[email protected]>

`arrows`

the comparable R function

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | ```
xlim <- c(-5 , 5)
ylim <- c(-10, 10)
plot(0, type = "n", xlim = xlim, ylim = ylim,
main = "Arrows, type = 'curved'")
x0 <- runif(100, xlim[1], xlim[2])
y0 <- runif(100, ylim[1], ylim[2])
x1 <- x0+runif(100, -1, 1)
y1 <- y0+runif(100, -1, 1)
Arrows(x0, y0, x1, y1, arr.length = runif(100), code = 2,
arr.type = "curved", arr.col = 1:100, lcol = 1:100)
plot(0, type = "n", xlim = xlim, ylim = ylim,
main = "Arrows, type = 'circle'")
x0 <- runif(100, xlim[1], xlim[2])
y0 <- runif(100, ylim[1], ylim[2])
x1 <- x0 + runif(100, -1, 1)
y1 <- y0 + runif(100, -1, 1)
Arrows(x0, y0, x1, y1, arr.length = 0.2, code = 3,
arr.type = "circle", arr.col = "grey")
plot(0, type = "n", xlim = xlim, ylim = ylim,
main = "Arrows, type = 'ellipse'")
Arrows(x0, y0, x1, y1, arr.length = 0.2, arr.width = 0.5,
code = 3, arr.type = "ellipse", arr.col = "grey")
curve(expr = sin(x), 0, 2*pi+0.25, main = "Arrows")
x <- seq(0, 2*pi, length.out = 10)
xd <- x + 0.025
Arrows(x, sin(x), xd, sin(xd), type = "triangle",
arr.length = 0.5, segment = FALSE)
xx <- seq(0, 10*pi, length.out = 1000)
plot(sin(xx)*xx, cos(xx)*xx, type = "l", axes = FALSE,
xlab = "", ylab = "", main = "Arrows, type = 'curved'")
x <- seq(0, 10*pi, length.out = 20)
x1 <- sin(x)*x
y1 <- cos(x)*x
xd <- x+0.01
x2 <- sin(xd)*xd
y2 <- cos(xd)*xd
Arrows(x1, y1, x2, y2, arr.type = "curved", arr.length = 0.4,
segment = FALSE, code = 1, arr.adj = 0.5 )
plot(sin(xx)*xx, cos(xx)*xx, type = "l", axes = FALSE,
xlab = "", ylab = "", main = "Arrows, type = 'T'")
Arrows(x1, y1, x2, y2, arr.type = "T", arr.length = 0.4,
code = 1, arr.lwd = 2)
# arguments passed to polygon:
xlim <- c(-5 , 5)
ylim <- c(-10, 10)
plot(0, type = "n", xlim = xlim, ylim = ylim,
main = "Arrows, type = 'curved'")
x0 <- runif(100, xlim[1]-1, xlim[2]+0.5) # exceeds the x-range
y0 <- runif(100, ylim[1], ylim[2])
x1 <- x0+runif(100, -1, 1)
y1 <- y0+runif(100, -1, 1)
Arrows(x0, y0, x1, y1, arr.length = runif(100), code = 2,
arr.type = "curved", arr.col = 1:100, lcol = 1:100, xpd = TRUE)
``` |

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.