class matplotlib.patches.Arrow(x, y, dx, dy, width=1.0, **kwargs)[source]

Bases: matplotlib.patches.Patch

An arrow patch.

Draws an arrow from (x, y) to (x + dx, y + dy). The width of the arrow is scaled by width.


x coordinate of the arrow tail


y coordinate of the arrow tail


Arrow length in the x direction


Arrow length in the y direction

widthscalar, optional (default: 1)

Scale factor for the width of the arrow. With a default value of 1, the tail width is 0.2 and head width is 0.6.


Keyword arguments control the 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 callable
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 float 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

See also

Patch that allows independent control of the head and tail properties

Return the Transform instance which takes patch coordinates to data coordinates.

For example, one may define a patch of a circle which represents a radius of 5 by providing coordinates for a unit circle, and a transform which scales the coordinates (the patch coordinate) by 5.


Return the path of this patch.

Examples using matplotlib.patches.Arrow