network.arrow {network} | R Documentation |
Add Arrows or Segments to a Plot
Description
network.arrow
draws a segment or arrow between two pairs of points;
unlike arrows
or segments
, the new plot element
is drawn as a polygon.
Usage
network.arrow(
x0,
y0,
x1,
y1,
length = 0.1,
angle = 20,
width = 0.01,
col = 1,
border = 1,
lty = 1,
offset.head = 0,
offset.tail = 0,
arrowhead = TRUE,
curve = 0,
edge.steps = 50,
...
)
Arguments
x0 |
A vector of x coordinates for points of origin |
y0 |
A vector of y coordinates for points of origin |
x1 |
A vector of x coordinates for destination points |
y1 |
A vector of y coordinates for destination points |
length |
Arrowhead length, in current plotting units |
angle |
Arrowhead angle (in degrees) |
width |
Width for arrow body, in current plotting units (can be a vector) |
col |
Arrow body color (can be a vector) |
border |
Arrow border color (can be a vector) |
lty |
Arrow border line type (can be a vector) |
offset.head |
Offset for destination point (can be a vector) |
offset.tail |
Offset for origin point (can be a vector) |
arrowhead |
Boolean; should arrowheads be used? (Can be a vector)) |
curve |
Degree of edge curvature (if any), in current plotting units (can be a vector) |
edge.steps |
For curved edges, the number of steps to use in approximating the curve (can be a vector) |
... |
Additional arguments to |
Details
network.arrow
provides a useful extension of segments
and arrows
when fine control is needed over the resulting
display. (The results also look better.) Note that edge curvature is
quadratic, with curve
providing the maximum horizontal deviation of
the edge (left-handed). Head/tail offsets are used to adjust the end/start
points of an edge, relative to the baseline coordinates; these are useful
for functions like plot.network
, which need to draw edges
incident to vertices of varying radii.
Value
None.
Note
network.arrow
is a direct adaptation of
gplot.arrow
from the sna
package.
Author(s)
Carter T. Butts buttsc@uci.edu
References
Butts, C. T. (2008). “network: a Package for Managing Relational Data in R.” Journal of Statistical Software, 24(2). https://www.jstatsoft.org/v24/i02/
See Also
plot.network
, network.loop
,
polygon
Examples
#Plot two points
plot(1:2,1:2)
#Add an edge
network.arrow(1,1,2,2,width=0.01,col="red",border="black")