matplotlib.axes.Axes.arrow

Axes.arrow(x, y, dx, dy, **kwargs)[source]

Add an arrow to the axes.

This draws an arrow from (x, y) to (x+dx, y+dy).

Parameters:
x, yfloat

The x and y coordinates of the arrow base.

dx, dyfloat

The length of the arrow along x and y direction.

width: float, default: 0.001

Width of full arrow tail.

length_includes_head: bool, default: False

True if head is to be counted in calculating the length.

head_width: float or None, default: 3*width

Total width of the full arrow head.

head_length: float or None, default: 1.5*head_width

Length of arrow head.

shape: ['full', 'left', 'right'], default: 'full'

Draw the left-half, right-half, or full arrow.

overhang: float, default: 0

Fraction that the arrow is swept back (0 overhang means triangular shape). Can be negative or greater than one.

head_starts_at_zero: bool, default: False

If True, the head starts being drawn at coordinate 0 instead of ending at coordinate 0.

**kwargs

Patch properties:

Property Description
agg_filter a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array
alpha float or None
animated bool
antialiased or aa unknown
capstyle {'butt', 'round', 'projecting'}
clip_box Bbox
clip_on bool
clip_path Patch or (Path, Transform) or None
color color
contains unknown
edgecolor or ec color or None or 'auto'
facecolor or fc color or None
figure Figure
fill bool
gid str
hatch {'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
in_layout bool
joinstyle {'miter', 'round', 'bevel'}
label object
linestyle or ls {'-', '--', '-.', ':', '', (offset, on-off-seq), ...}
linewidth or lw float or None
path_effects AbstractPathEffect
picker None or bool or callable
rasterized bool or None
sketch_params (scale: float, length: float, randomness: float)
snap bool or None
transform Transform
url str
visible bool
zorder float
Returns:
FancyArrow

The created FancyArrow object.

Notes

The resulting arrow is affected by the axes aspect ratio and limits. This may produce an arrow whose head is not square with its stem. To create an arrow whose head is square with its stem, use annotate() for example:

>>> ax.annotate("", xy=(0.5, 0.5), xytext=(0, 0),
...             arrowprops=dict(arrowstyle="->"))

Examples using matplotlib.axes.Axes.arrow