mpl_toolkits.axes_grid1.anchored_artists.AnchoredDirectionArrows¶
-
class
mpl_toolkits.axes_grid1.anchored_artists.
AnchoredDirectionArrows
(transform, label_x, label_y, length=0.15, fontsize=0.08, loc=2, angle=0, aspect_ratio=1, pad=0.4, borderpad=0.4, frameon=False, color='w', alpha=1, sep_x=0.01, sep_y=0, fontproperties=None, back_length=0.15, head_width=10, head_length=15, tail_width=2, text_props=None, arrow_props=None, **kwargs)[source]¶ Bases:
matplotlib.offsetbox.AnchoredOffsetbox
Draw two perpendicular arrows to indicate directions.
Parameters: - transform
matplotlib.transforms.Transform
The transformation object for the coordinate system in use, i.e.,
matplotlib.axes.Axes.transAxes
.- label_x, label_ystr
Label text for the x and y arrows
- lengthfloat, default: 0.15
Length of the arrow, given in coordinates of transform.
- fontsizefloat, default: 0.08
Size of label strings, given in coordinates of transform.
- locint, default: 2
Location of the direction arrows. Valid location codes are:
'upper right' : 1, 'upper left' : 2, 'lower left' : 3, 'lower right' : 4, 'right' : 5, 'center left' : 6, 'center right' : 7, 'lower center' : 8, 'upper center' : 9, 'center' : 10
- anglefloat, default: 0
The angle of the arrows in degrees.
- aspect_ratiofloat, default: 1
The ratio of the length of arrow_x and arrow_y. Negative numbers can be used to change the direction.
- padfloat, default: 0.4
Padding around the labels and arrows, in fraction of the font size.
- borderpadfloat, default: 0.4
Border padding, in fraction of the font size.
- frameonbool, default: False
If True, draw a box around the arrows and labels.
- colorstr, default: 'white'
Color for the arrows and labels.
- alphafloat, default: 1
Alpha values of the arrows and labels
- sep_x, sep_yfloat, default: 0.01 and 0 respectively
Separation between the arrows and labels in coordinates of transform.
- fontproperties
matplotlib.font_manager.FontProperties
, optional Font properties for the label text.
- back_lengthfloat, default: 0.15
Fraction of the arrow behind the arrow crossing.
- head_widthfloat, default: 10
Width of arrow head, sent to ArrowStyle.
- head_lengthfloat, default: 15
Length of arrow head, sent to ArrowStyle.
- tail_widthfloat, default: 2
Width of arrow tail, sent to ArrowStyle.
- text_props, arrow_propsdict
Properties of the text and arrows, passed to
textpath.TextPath
andpatches.FancyArrowPatch
.- **kwargs
Keyworded arguments to pass to
matplotlib.offsetbox.AnchoredOffsetbox
.
Notes
If prop is passed as a keyword argument, but fontproperties is not, then prop is be assumed to be the intended fontproperties. Using both prop and fontproperties is not supported.
Examples
>>> import matplotlib.pyplot as plt >>> import numpy as np >>> from mpl_toolkits.axes_grid1.anchored_artists import ( ... AnchoredDirectionArrows) >>> fig, ax = plt.subplots() >>> ax.imshow(np.random.random((10, 10))) >>> arrows = AnchoredDirectionArrows(ax.transAxes, '111', '110') >>> ax.add_artist(arrows) >>> fig.show()
Using several of the optional parameters, creating downward pointing arrow and high contrast text labels.
>>> import matplotlib.font_manager as fm >>> fontprops = fm.FontProperties(family='monospace') >>> arrows = AnchoredDirectionArrows(ax.transAxes, 'East', 'South', ... loc='lower left', color='k', ... aspect_ratio=-1, sep_x=0.02, ... sep_y=-0.01, ... text_props={'ec':'w', 'fc':'k'}, ... fontproperties=fontprops)
Attributes: - arrow_x, arrow_y
matplotlib.patches.FancyArrowPatch
Arrow x and y
- text_path_x, text_path_y
matplotlib.textpath.TextPath
Path for arrow labels
- p_x, p_y
matplotlib.patches.PathPatch
Patch for arrow labels
- box
matplotlib.offsetbox.AuxTransformBox
Container for the arrows and labels.
-
__init__
(transform, label_x, label_y, length=0.15, fontsize=0.08, loc=2, angle=0, aspect_ratio=1, pad=0.4, borderpad=0.4, frameon=False, color='w', alpha=1, sep_x=0.01, sep_y=0, fontproperties=None, back_length=0.15, head_width=10, head_length=15, tail_width=2, text_props=None, arrow_props=None, **kwargs)[source]¶ Draw two perpendicular arrows to indicate directions.
Parameters: - transform
matplotlib.transforms.Transform
The transformation object for the coordinate system in use, i.e.,
matplotlib.axes.Axes.transAxes
.- label_x, label_ystr
Label text for the x and y arrows
- lengthfloat, default: 0.15
Length of the arrow, given in coordinates of transform.
- fontsizefloat, default: 0.08
Size of label strings, given in coordinates of transform.
- locint, default: 2
Location of the direction arrows. Valid location codes are:
'upper right' : 1, 'upper left' : 2, 'lower left' : 3, 'lower right' : 4, 'right' : 5, 'center left' : 6, 'center right' : 7, 'lower center' : 8, 'upper center' : 9, 'center' : 10
- anglefloat, default: 0
The angle of the arrows in degrees.
- aspect_ratiofloat, default: 1
The ratio of the length of arrow_x and arrow_y. Negative numbers can be used to change the direction.
- padfloat, default: 0.4
Padding around the labels and arrows, in fraction of the font size.
- borderpadfloat, default: 0.4
Border padding, in fraction of the font size.
- frameonbool, default: False
If True, draw a box around the arrows and labels.
- colorstr, default: 'white'
Color for the arrows and labels.
- alphafloat, default: 1
Alpha values of the arrows and labels
- sep_x, sep_yfloat, default: 0.01 and 0 respectively
Separation between the arrows and labels in coordinates of transform.
- fontproperties
matplotlib.font_manager.FontProperties
, optional Font properties for the label text.
- back_lengthfloat, default: 0.15
Fraction of the arrow behind the arrow crossing.
- head_widthfloat, default: 10
Width of arrow head, sent to ArrowStyle.
- head_lengthfloat, default: 15
Length of arrow head, sent to ArrowStyle.
- tail_widthfloat, default: 2
Width of arrow tail, sent to ArrowStyle.
- text_props, arrow_propsdict
Properties of the text and arrows, passed to
textpath.TextPath
andpatches.FancyArrowPatch
.- **kwargs
Keyworded arguments to pass to
matplotlib.offsetbox.AnchoredOffsetbox
.
Notes
If prop is passed as a keyword argument, but fontproperties is not, then prop is be assumed to be the intended fontproperties. Using both prop and fontproperties is not supported.
Examples
>>> import matplotlib.pyplot as plt >>> import numpy as np >>> from mpl_toolkits.axes_grid1.anchored_artists import ( ... AnchoredDirectionArrows) >>> fig, ax = plt.subplots() >>> ax.imshow(np.random.random((10, 10))) >>> arrows = AnchoredDirectionArrows(ax.transAxes, '111', '110') >>> ax.add_artist(arrows) >>> fig.show()
Using several of the optional parameters, creating downward pointing arrow and high contrast text labels.
>>> import matplotlib.font_manager as fm >>> fontprops = fm.FontProperties(family='monospace') >>> arrows = AnchoredDirectionArrows(ax.transAxes, 'East', 'South', ... loc='lower left', color='k', ... aspect_ratio=-1, sep_x=0.02, ... sep_y=-0.01, ... text_props={'ec':'w', 'fc':'k'}, ... fontproperties=fontprops)
Attributes: - arrow_x, arrow_y
matplotlib.patches.FancyArrowPatch
Arrow x and y
- text_path_x, text_path_y
matplotlib.textpath.TextPath
Path for arrow labels
- p_x, p_y
matplotlib.patches.PathPatch
Patch for arrow labels
- box
matplotlib.offsetbox.AuxTransformBox
Container for the arrows and labels.
- transform
-
__module__
= 'mpl_toolkits.axes_grid1.anchored_artists'¶
- transform