matplotlib.pyplot.arrow — Matplotlib 3.10.1 documentation (original) (raw)

matplotlib.pyplot.arrow(x, y, dx, dy, **kwargs)[source]#

[_Discouraged_] Add an arrow to the Axes.

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

Discouraged

The use of this method is discouraged because it is not guaranteed that the arrow renders reasonably. For example, the resulting arrow is affected by the Axes aspect ratio and limits, which may distort the arrow.

Consider using annotate without a text instead, e.g.

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

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:

Returns:

FancyArrow

The created FancyArrow object.

Notes