R: adds a circular, self-pointing arrow to a plot

selfarrow {diagram} | R Documentation

## adds a circular, self-pointing arrow to a plot

### Description

adds a circular arrow, from and to the same point

### Usage

    selfarrow(pos, lwd = 2, lty = 1, lcol = "black", arr.pos = 0.5,
              path = "L", curve = c(0.1, 0.1), dr = 0.01, code = 1, ...)

### Arguments

`pos` | 2-valued vector with coordinates (x,y) of points *from and to* which to draw arrow.
`lwd` | line width.
`lty` | line type.
`lcol` | line color.
`arr.pos` | relative position of arrowhead.
`path` | position of circle: R, L, U, D for right, left, up and down respectively.
`curve` | relative size of curve (fraction of arrow length).
`dr` | size of segments, in radians, to draw ellipse (decrease for smoother).
`code` | how to put the arrowhead.
`...` | arguments passed to function Arrows.

### Details

draws a circular arrow from and to one point

The position of the arrowhead on the circle is set with `arr.pos`, a value between 0 (at start) and 1(at end of circle)

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

see `Arrowhead` for details on arrow head.

### Value

coordinates (x,y) where arrowhead is drawn

### Author(s)

Karline Soetaert <karline.soetaert@nioz.nl>

### See Also

`straightarrow`, `segmentarrow`, `curvedarrow`, `bentarrow`,`treearrow`, `splitarrow`,

`arrows`: the comparable R function,

`Arrows`: more complicated arrow function from package shape.

### Examples

    openplotmat(main = "selfarrow")

    pos <- coordinates(3, mx = 0.05)

    text(pos, LETTERS[1:3], cex = 2)

    for (i in 1:3)
      selfarrow(pos = pos[i, ], path = "R", arr.pos = 0.2,
                curve = c(0.05, 0.1), lcol = "darkred")

    for (i in 1:3)
      selfarrow(pos = pos[i, ], path = "L", arr.pos = 0.7,
                lcol = "darkblue", curve = c(0.05, 0.05))

    for (i in 1:3)
      selfarrow(pos = pos[i, ], path = "L", arr.pos = 0.5,
                lcol = "darkgreen", code = i, arr.type = "triangle")

[Package diagram version 1.6.4 Index]