mpl_toolkits.axes_grid1.inset_locator.inset_axes¶
-
mpl_toolkits.axes_grid1.inset_locator.
inset_axes
(parent_axes, width, height, loc='upper right', bbox_to_anchor=None, bbox_transform=None, axes_class=None, axes_kwargs=None, borderpad=0.5)[source]¶ Create an inset axes with a given width and height.
Both sizes used can be specified either in inches or percentage. For example,:
inset_axes(parent_axes, width='40%', height='30%', loc=3)
creates in inset axes in the lower left corner of parent_axes which spans over 30% in height and 40% in width of the parent_axes. Since the usage of
inset_axes
may become slightly tricky when exceeding such standard cases, it is recommended to read the examples.Parameters: - parent_axes
matplotlib.axes.Axes
Axes to place the inset axes.
- width, heightfloat or str
Size of the inset axes to create. If a float is provided, it is the size in inches, e.g. width=1.3. If a string is provided, it is the size in relative units, e.g. width='40%'. By default, i.e. if neither bbox_to_anchor nor bbox_transform are specified, those are relative to the parent_axes. Otherwise they are to be understood relative to the bounding box provided via bbox_to_anchor.
- locint or str, default: 1
Location to place the inset axes. The valid locations 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
- bbox_to_anchortuple or
matplotlib.transforms.BboxBase
, optional Bbox that the inset axes will be anchored to. If None, a tuple of (0, 0, 1, 1) is used if bbox_transform is set to parent_axes.transAxes or parent_axes.figure.transFigure. Otherwise, parent_axes.bbox is used. If a tuple, can be either [left, bottom, width, height], or [left, bottom]. If the kwargs width and/or height are specified in relative units, the 2-tuple [left, bottom] cannot be used. Note that, unless bbox_transform is set, the units of the bounding box are interpreted in the pixel coordinate. When using bbox_to_anchor with tuple, it almost always makes sense to also specify a bbox_transform. This might often be the axes transform parent_axes.transAxes.
- bbox_transform
matplotlib.transforms.Transform
, optional Transformation for the bbox that contains the inset axes. If None, a
transforms.IdentityTransform
is used. The value of bbox_to_anchor (or the return value of its get_points method) is transformed by the bbox_transform and then interpreted as points in the pixel coordinate (which is dpi dependent). You may provide bbox_to_anchor in some normalized coordinate, and give an appropriate transform (e.g., parent_axes.transAxes).- axes_class
matplotlib.axes.Axes
type, optional If specified, the inset axes created will be created with this class's constructor.
- axes_kwargsdict, optional
Keyworded arguments to pass to the constructor of the inset axes. Valid arguments include:
Property Description adjustable
{'box', 'datalim'} 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 anchor
2-tuple of floats or {'C', 'SW', 'S', 'SE', ...} animated
bool aspect
{'auto'} or num autoscale_on
bool autoscalex_on
bool autoscaley_on
bool axes_locator
Callable[[Axes, Renderer], Bbox] axisbelow
bool or 'line' box_aspect
None, or a number clip_box
Bbox
clip_on
bool clip_path
Patch or (Path, Transform) or None contains
unknown facecolor
or fccolor figure
Figure
frame_on
bool gid
str in_layout
bool label
object navigate
bool navigate_mode
unknown path_effects
AbstractPathEffect
picker
None or bool or callable position
[left, bottom, width, height] or Bbox
prop_cycle
unknown rasterization_zorder
float or None rasterized
bool or None sketch_params
(scale: float, length: float, randomness: float) snap
bool or None title
str transform
Transform
url
str visible
bool xbound
unknown xlabel
str xlim
(bottom: float, top: float) xmargin
float greater than -0.5 xscale
{"linear", "log", "symlog", "logit", ...} xticklabels
unknown xticks
unknown ybound
unknown ylabel
str ylim
(bottom: float, top: float) ymargin
float greater than -0.5 yscale
{"linear", "log", "symlog", "logit", ...} yticklabels
unknown yticks
unknown zorder
float - borderpadfloat, default: 0.5
Padding between inset axes and the bbox_to_anchor. The units are axes font size, i.e. for a default font size of 10 points borderpad = 0.5 is equivalent to a padding of 5 points.
Returns: - inset_axesaxes_class
Inset axes object created.
Notes
The meaning of bbox_to_anchor and bbox_to_transform is interpreted differently from that of legend. The value of bbox_to_anchor (or the return value of its get_points method; the default is parent_axes.bbox) is transformed by the bbox_transform (the default is Identity transform) and then interpreted as points in the pixel coordinate (which is dpi dependent).
Thus, following three calls are identical and creates an inset axes with respect to the parent_axes:
axins = inset_axes(parent_axes, "30%", "40%") axins = inset_axes(parent_axes, "30%", "40%", bbox_to_anchor=parent_axes.bbox) axins = inset_axes(parent_axes, "30%", "40%", bbox_to_anchor=(0, 0, 1, 1), bbox_transform=parent_axes.transAxes)
- parent_axes