On this page
matplotlib.patches.FancyArrowPatch
- classmatplotlib.patches.FancyArrowPatch(posA=None, posB=None, path=None, arrowstyle='simple', connectionstyle='arc3', patchA=None, patchB=None, shrinkA=2, shrinkB=2, mutation_scale=1, mutation_aspect=1, dpi_cor=<deprecated parameter>, **kwargs)[source]
-
Bases:
matplotlib.patches.PatchA fancy arrow patch. It draws an arrow using the
ArrowStyle.The head and tail positions are fixed at the specified start and end points of the arrow, but the size and shape (in display coordinates) of the arrow does not change when the axis is moved or zoomed.
There are two ways for defining an arrow:
- If posA and posB are given, a path connecting two points is created according to connectionstyle. The path will be clipped with patchA and patchB and further shrunken by shrinkA and shrinkB. An arrow is drawn along this resulting path using the arrowstyle parameter.
- Alternatively if path is provided, an arrow is drawn along this path and patchA, patchB, shrinkA, and shrinkB are ignored.
- Parameters
-
- posA, posB(float, float), default: None
-
(x, y) coordinates of arrow tail and arrow head respectively.
- path
Path, default: None -
If provided, an arrow is drawn along this path and patchA, patchB, shrinkA, and shrinkB are ignored.
- arrowstylestr or
ArrowStyle, default: 'simple' -
The
ArrowStylewith which the fancy arrow is drawn. If a string, it should be one of the available arrowstyle names, with optional comma-separated attributes. The optional attributes are meant to be scaled with the mutation_scale. The following arrow styles are available:Class
Name
Attrs
Curve
-None
CurveA
<-head_length=0.4, head_width=0.2, widthA=1.0, widthB=1.0, lengthA=0.2, lengthB=0.2, angleA=0, angleB=0, scaleA=None, scaleB=None
CurveB
->head_length=0.4, head_width=0.2, widthA=1.0, widthB=1.0, lengthA=0.2, lengthB=0.2, angleA=0, angleB=0, scaleA=None, scaleB=None
CurveAB
<->head_length=0.4, head_width=0.2, widthA=1.0, widthB=1.0, lengthA=0.2, lengthB=0.2, angleA=0, angleB=0, scaleA=None, scaleB=None
CurveFilledA
<|-head_length=0.4, head_width=0.2, widthA=1.0, widthB=1.0, lengthA=0.2, lengthB=0.2, angleA=0, angleB=0, scaleA=None, scaleB=None
CurveFilledB
-|>head_length=0.4, head_width=0.2, widthA=1.0, widthB=1.0, lengthA=0.2, lengthB=0.2, angleA=0, angleB=0, scaleA=None, scaleB=None
CurveFilledAB
<|-|>head_length=0.4, head_width=0.2, widthA=1.0, widthB=1.0, lengthA=0.2, lengthB=0.2, angleA=0, angleB=0, scaleA=None, scaleB=None
BracketA
]-widthA=1.0, lengthA=0.2, angleA=0
BracketB
-[widthB=1.0, lengthB=0.2, angleB=0
BracketAB
]-[widthA=1.0, lengthA=0.2, angleA=0, widthB=1.0, lengthB=0.2, angleB=0
BarAB
|-|widthA=1.0, angleA=0, widthB=1.0, angleB=0
BracketCurve
]->widthA=1.0, lengthA=0.2, angleA=None
CurveBracket
<-[widthB=1.0, lengthB=0.2, angleB=None
Simple
simplehead_length=0.5, head_width=0.5, tail_width=0.2
Fancy
fancyhead_length=0.4, head_width=0.4, tail_width=0.4
Wedge
wedgetail_width=0.3, shrink_factor=0.5
- connectionstylestr or
ConnectionStyleor None, optional, default: 'arc3' -
The
ConnectionStylewith which posA and posB are connected. If a string, it should be one of the available connectionstyle names, with optional comma-separated attributes. The following connection styles are available:Class
Name
Attrs
Arc3
arc3rad=0.0
Angle3
angle3angleA=90, angleB=0
Angle
angleangleA=90, angleB=0, rad=0.0
Arc
arcangleA=0, angleB=0, armA=None, armB=None, rad=0.0
Bar
bararmA=0.0, armB=0.0, fraction=0.3, angle=None
- patchA, patchB
Patch, default: None -
Head and tail patches, respectively.
- shrinkA, shrinkBfloat, default: 2
-
Shrinking factor of the tail and head of the arrow respectively.
- mutation_scalefloat, default: 1
-
Value with which attributes of arrowstyle (e.g., head_length) will be scaled.
- mutation_aspectNone or float, default: None
-
The height of the rectangle will be squeezed by this value before the mutation and the mutated box will be stretched by the inverse of it.
- dpi_corfloat, default: 1
-
dpi_cor is currently used for linewidth-related things and shrink factor. Mutation scale is affected by this. Deprecated.
- Other Parameters
-
- **kwargs
Patchproperties, optional -
Here is a list of available
Patchproperties:Property
Description
a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array
unknown
bool
antialiasedor aabool or None
CapStyleor {'butt', 'projecting', 'round'}bool
Patch or (Path, Transform) or None
color
edgecoloror eccolor or None
facecoloror fccolor or None
bool
str
{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
bool
JoinStyleor {'miter', 'round', 'bevel'}object
linestyleor ls{'-', '--', '-.', ':', '', (offset, on-off-seq), ...}
linewidthor lwfloat or None
None or bool or float or callable
bool
(scale: float, length: float, randomness: float)
bool or None
str
bool
float
In contrast to other patches, the default
capstyleandjoinstyleforFancyArrowPatchare set to"round".
- **kwargs
- draw(renderer)[source]
-
Draw the Artist (and its children) using the given renderer.
This has no effect if the artist is not visible (
Artist.get_visiblereturns False).- Parameters
-
- renderer
RendererBasesubclass.
- renderer
Notes
This method is overridden in the Artist subclasses.
- get_arrowstyle()[source]
-
Return the arrowstyle object.
- get_connectionstyle()[source]
-
Return the
ConnectionStyleused.
- get_dpi_cor()[source]
-
[Deprecated] dpi_cor is currently used for linewidth-related things and shrink factor. Mutation scale is affected by this.
- Returns
-
- scalar
Notes
Deprecated since version 3.4.
- get_mutation_aspect()[source]
-
Return the aspect ratio of the bbox mutation.
- get_mutation_scale()[source]
-
Return the mutation scale.
- Returns
-
- scalar
- get_path()[source]
-
Return the path of the arrow in the data coordinates.
- propertyget_path_in_displaycoord[source]
- set(*, agg_filter=<UNSET>, alpha=<UNSET>, animated=<UNSET>, antialiased=<UNSET>, arrowstyle=<UNSET>, capstyle=<UNSET>, clip_box=<UNSET>, clip_on=<UNSET>, clip_path=<UNSET>, color=<UNSET>, connectionstyle=<UNSET>, dpi_cor=<UNSET>, edgecolor=<UNSET>, facecolor=<UNSET>, fill=<UNSET>, gid=<UNSET>, hatch=<UNSET>, in_layout=<UNSET>, joinstyle=<UNSET>, label=<UNSET>, linestyle=<UNSET>, linewidth=<UNSET>, mutation_aspect=<UNSET>, mutation_scale=<UNSET>, patchA=<UNSET>, patchB=<UNSET>, path_effects=<UNSET>, picker=<UNSET>, positions=<UNSET>, rasterized=<UNSET>, sketch_params=<UNSET>, snap=<UNSET>, transform=<UNSET>, url=<UNSET>, visible=<UNSET>, zorder=<UNSET>)[source]
-
Set multiple properties at once.
Supported properties are
Property
Description
a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array
scalar or None
bool
antialiasedor aabool or None
None or ArrowStyle or str, default: None
CapStyleor {'butt', 'projecting', 'round'}bool
Patch or (Path, Transform) or None
color
str or
ConnectionStyleor None, optionalunknown
edgecoloror eccolor or None
facecoloror fccolor or None
bool
str
{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
bool
JoinStyleor {'miter', 'round', 'bevel'}object
linestyleor ls{'-', '--', '-.', ':', '', (offset, on-off-seq), ...}
linewidthor lwfloat or None
float
float
None or bool or float or callable
unknown
bool
(scale: float, length: float, randomness: float)
bool or None
str
bool
float
- set_arrowstyle(arrowstyle=None, **kw)[source]
-
Set the arrow style. Old attributes are forgotten. Without arguments (or with
arrowstyle=None) returns available box styles as a list of strings.- Parameters
-
- arrowstyleNone or ArrowStyle or str, default: None
-
Can be a string with arrowstyle name with optional comma-separated attributes, e.g.:
set_arrowstyle("Fancy,head_length=0.2")Alternatively attributes can be provided as keywords, e.g.:
set_arrowstyle("fancy", head_length=0.2)
- set_connectionstyle(connectionstyle, **kw)[source]
-
Set the connection style. Old attributes are forgotten.
- Parameters
-
- connectionstylestr or
ConnectionStyleor None, optional -
Can be a string with connectionstyle name with optional comma-separated attributes, e.g.:
set_connectionstyle("arc,angleA=0,armA=30,rad=10")Alternatively, the attributes can be provided as keywords, e.g.:
set_connectionstyle("arc", angleA=0,armA=30,rad=10)Without any arguments (or with
connectionstyle=None), return available styles as a list of strings.
- connectionstylestr or
- set_dpi_cor(dpi_cor)[source]
-
[Deprecated] dpi_cor is currently used for linewidth-related things and shrink factor. Mutation scale is affected by this.
- Parameters
-
- dpi_corfloat
Notes
Deprecated since version 3.4.
- set_mutation_aspect(aspect)[source]
-
Set the aspect ratio of the bbox mutation.
- Parameters
-
- aspectfloat
- set_mutation_scale(scale)[source]
-
Set the mutation scale.
- Parameters
-
- scalefloat
- set_patchA(patchA)[source]
-
Set the tail patch.
- Parameters
-
- patchA
patches.Patch
- patchA
- set_patchB(patchB)[source]
-
Set the head patch.
- Parameters
-
- patchB
patches.Patch
- patchB
Examples using matplotlib.patches.FancyArrowPatch
© 2012–2021 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.5.1/api/_as_gen/matplotlib.patches.FancyArrowPatch.html