matplotlib.patches.FancyArrowPatch¶
-
class
matplotlib.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=None, dpi_cor=1, **kwargs)[source]¶ Bases:
matplotlib.patches.Patch
A 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
ArrowStyle
with 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 CurveB ->
head_length=0.4, head_width=0.2 BracketB -[
widthB=1.0, lengthB=0.2, angleB=None CurveFilledB -|>
head_length=0.4, head_width=0.2 CurveA <-
head_length=0.4, head_width=0.2 CurveAB <->
head_length=0.4, head_width=0.2 CurveFilledA <|-
head_length=0.4, head_width=0.2 CurveFilledAB <|-|>
head_length=0.4, head_width=0.2 BracketA ]-
widthA=1.0, lengthA=0.2, angleA=None BracketAB ]-[
widthA=1.0, lengthA=0.2, angleA=None, widthB=1.0, lengthB=0.2, angleB=None Fancy fancy
head_length=0.4, head_width=0.4, tail_width=0.4 Simple simple
head_length=0.5, head_width=0.5, tail_width=0.2 Wedge wedge
tail_width=0.3, shrink_factor=0.5 BarAB |-|
widthA=1.0, angleA=None, widthB=1.0, angleB=None - connectionstylestr or
ConnectionStyle
or None, optional, default: 'arc3' The
ConnectionStyle
with 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 Angle angle
angleA=90, angleB=0, rad=0.0 Angle3 angle3
angleA=90, angleB=0 Arc arc
angleA=0, angleB=0, armA=None, armB=None, rad=0.0 Arc3 arc3
rad=0.0 Bar bar
armA=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.
Other Parameters: - **kwargs
Patch
properties, optional Here is a list of available
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 aaunknown capstyle
{'butt', 'round', 'projecting'} clip_box
Bbox
clip_on
bool clip_path
Patch or (Path, Transform) or None color
color contains
unknown edgecolor
or eccolor or None or 'auto' facecolor
or fccolor 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 lwfloat 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 In contrast to other patches, the default
capstyle
andjoinstyle
forFancyArrowPatch
are set to"round"
.
-
__init__
(self, posA=None, posB=None, path=None, arrowstyle='simple', connectionstyle='arc3', patchA=None, patchB=None, shrinkA=2, shrinkB=2, mutation_scale=1, mutation_aspect=None, dpi_cor=1, **kwargs)[source]¶ 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
ArrowStyle
with 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 CurveB ->
head_length=0.4, head_width=0.2 BracketB -[
widthB=1.0, lengthB=0.2, angleB=None CurveFilledB -|>
head_length=0.4, head_width=0.2 CurveA <-
head_length=0.4, head_width=0.2 CurveAB <->
head_length=0.4, head_width=0.2 CurveFilledA <|-
head_length=0.4, head_width=0.2 CurveFilledAB <|-|>
head_length=0.4, head_width=0.2 BracketA ]-
widthA=1.0, lengthA=0.2, angleA=None BracketAB ]-[
widthA=1.0, lengthA=0.2, angleA=None, widthB=1.0, lengthB=0.2, angleB=None Fancy fancy
head_length=0.4, head_width=0.4, tail_width=0.4 Simple simple
head_length=0.5, head_width=0.5, tail_width=0.2 Wedge wedge
tail_width=0.3, shrink_factor=0.5 BarAB |-|
widthA=1.0, angleA=None, widthB=1.0, angleB=None - connectionstylestr or
ConnectionStyle
or None, optional, default: 'arc3' The
ConnectionStyle
with 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 Angle angle
angleA=90, angleB=0, rad=0.0 Angle3 angle3
angleA=90, angleB=0 Arc arc
angleA=0, angleB=0, armA=None, armB=None, rad=0.0 Arc3 arc3
rad=0.0 Bar bar
armA=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.
Other Parameters: - **kwargs
Patch
properties, optional Here is a list of available
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 aaunknown capstyle
{'butt', 'round', 'projecting'} clip_box
Bbox
clip_on
bool clip_path
Patch or (Path, Transform) or None color
color contains
unknown edgecolor
or eccolor or None or 'auto' facecolor
or fccolor 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 lwfloat 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 In contrast to other patches, the default
capstyle
andjoinstyle
forFancyArrowPatch
are set to"round"
.
-
__module__
= 'matplotlib.patches'¶
-
draw
(self, renderer)[source]¶ Draw the Artist (and its children) using the given renderer.
This has no effect if the artist is not visible (
Artist.get_visible
returns False).Parameters: - renderer
RendererBase
subclass.
Notes
This method is overridden in the Artist subclasses.
- renderer
-
get_connectionstyle
(self)[source]¶ Return the
ConnectionStyle
used.
-
get_dpi_cor
(self)[source]¶ dpi_cor is currently used for linewidth-related things and shrink factor. Mutation scale is affected by this.
Returns: - scalar
-
get_path
(self)[source]¶ Return the path of the arrow in the data coordinates. Use get_path_in_displaycoord() method to retrieve the arrow path in display coordinates.
-
get_path_in_displaycoord
(self)[source]¶ Return the mutated path of the arrow in display coordinates.
-
set_arrowstyle
(self, 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
(self, connectionstyle, **kw)[source]¶ Set the connection style. Old attributes are forgotten.
Parameters: - connectionstylestr or
ConnectionStyle
or 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
(self, dpi_cor)[source]¶ dpi_cor is currently used for linewidth-related things and shrink factor. Mutation scale is affected by this.
Parameters: - dpi_corfloat
-
set_mutation_aspect
(self, aspect)[source]¶ Set the aspect ratio of the bbox mutation.
Parameters: - aspectfloat
-
set_patchA
(self, patchA)[source]¶ Set the tail patch.
Parameters: - patchA
patches.Patch
- patchA
-
set_patchB
(self, patchB)[source]¶ Set the head patch.
Parameters: - patchB
patches.Patch
- patchB