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 polygon

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). http://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")

[Package network version 1.4-1 Index]