curvedarrow: adds curved arrow between two points

Description Usage Arguments Details Value Author(s) See Also Examples

View source: R/curvedarrow.R

Description

Connects two points with an ellipsoid line and adds an arrowhead at a certain distance

Usage

1
2
3
curvedarrow(from, to, lwd = 2, lty = 1, lcol = "black", 
            arr.col = lcol, arr.pos = 0.5, curve = 1, dr = 0.01, 
            endhead = FALSE, segment = c(0, 1), ...)

Arguments

from

coordinates (x,y) of the point *from* which to draw arrow.

to

coordinates (x,y) of the point *to* which to draw arrow.

lwd

line width.

lty

line type.

lcol

line color.

arr.col

arrowhead color.

arr.pos

relative position of arrowhead.

curve

relative size of curve (fraction of points distance) - see details.

dr

size of segments, in radians, to draw ellipse (decrease for smoother).

endhead

if TRUE: the arrow line stops at the arrowhead; default = FALSE.

segment

if not c(0,1): then the arrow line will cover only part of the requested path, e.g. if segment = c(0.2,0.8), it will start 0.2 from from and till 0.8.

...

arguments passed to function Arrows.

Details

A curved arrow is drawn between two points '(from, to)'

The position of the arrowhead, is set with arr.pos, a value between 0(start point) and 1(endpoint)

The line curvature is set with curve which expresses the ellipse radius as a fraction of the distance between the two points. For instance, curve=0.5 will draw an ellepse with small radius half of a circle.

The type of the arrowhead is set with arr.type which can take the values:

The size of the arrow head can be specified with the arguments arr.length and arr.width.

See Arrowhead from package shape for details on arrow head

Value

default

coordinates (x,y) where arrowhead is drawn.

Author(s)

Karline Soetaert <karline.soetaert@nioz.nl>

See Also

straightarrow, segmentarrow, bentarrow, selfarrow, treearrow, splitarrow,

arrows: the comparable R function,

Arrows: more complicated arrow function from package shape.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
openplotmat(main = "curvedarrow")

pos <- coordinates(pos = 4, my = 0.2)
text(pos, LETTERS[1:4], cex = 2)

for (i in 1:3) 
  curvedarrow(from = pos[1, ] + c(0,-0.05), to = pos[i+1, ] + c(0,-0.05),
              curve = 0.5, arr.pos = 1)
for (i in 1:3) 
  curvedarrow(from = pos[1, ] + c(0, 0.05), to = pos[i+1, ] + c(0, 0.05),
              curve = -0.25, arr.adj = 1, arr.pos = 0.5, 
              arr.type = "triangle", arr.col = "blue")

Example output

Loading required package: shape

diagram documentation built on Oct. 23, 2020, 5:46 p.m.