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

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

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`

None.

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

```
# NOT RUN {
#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