Arrows | R Documentation |

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

```
Arrows(x0, y0, x1, y1, code = 2, arr.length = 0.4,
arr.width = arr.length/2, arr.adj = 0.5, arr.type = "curved",
segment = TRUE, col = "black", lcol = col, lty = 1, arr.col = lcol,
lwd = 1, arr.lwd = lwd, ...)
```

`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 "none", "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 <karline.soetaert@nioz.nl>

`arrows`

the comparable R function

`Arrowhead`

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