Learn R Programming

sna (version 2.8)

gplot.arrow: Add Arrows or Segments to a Plot

Description

gplot.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

gplot.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, ...)

Value

None.

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

Author

Carter T. Butts buttsc@uci.edu

Details

gplot.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 gplot, which need to draw edges incident to vertices of varying radii.

See Also

gplot, gplot.loop, polygon

Examples

Run this code
  #Plot two points
  plot(1:2,1:2)
  
  #Add an edge
  gplot.arrow(1,1,2,2,width=0.01,col="red",border="black")

Run the code above in your browser using DataLab