curvedarrow {diagram} | R Documentation |
Connects two points with an ellipsoid line;
adds an arrowhead at a certain distance
curvedarrow(from, to, lwd=2, lty=1, lcol="black", arr.pos=0.5, curve=1, dr=0.01, endhead=FALSE, ...)
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.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 |
... |
arguments passed to function Arrows |
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 half of a circle.
The type of the arrowhead is set with "arr.type" which can take the values:
see Arrowhead
from package shape for details on arrow head
default |
coordinates (x,y) where arrowhead is drawn |
Karline Soetaert <k.soetaert@nioo.knaw.nl>
straightarrow
, segmentarrow
, bentarrow
,
selfarrow
, treearrow
, splitarrow
,
arrows
: the comparable R function,
Arrows
: more complicated arrow function from package shape
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)