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.

widthfloat, default: 0.001

Width of full arrow tail.

length_includes_headbool, default: False

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

head_widthfloat or None, default: 3*width

Total width of the full arrow head.

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

overhangfloat, default: 0

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

head_starts_at_zerobool, 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

unknown

animated

bool

antialiased or aa

bool or None

capstyle

CapStyle or {'butt', 'projecting', 'round'}

clip_box

Bbox

clip_on

bool

clip_path

Patch or (Path, Transform) or None

color

color

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

JoinStyle or {'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 float or callable

rasterized

bool

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