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_axesmay 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.IdentityTransformis 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.Axestype, 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_filtera filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array alphafloat or None anchor2-tuple of floats or {'C', 'SW', 'S', 'SE', ...} animatedbool aspect{'auto'} or num autoscale_onbool autoscalex_onbool autoscaley_onbool axes_locatorCallable[[Axes, Renderer], Bbox] axisbelowbool or 'line' box_aspectNone, or a number clip_boxBboxclip_onbool clip_pathPatch or (Path, Transform) or None containsunknown facecoloror fccolor figureFigureframe_onbool gidstr in_layoutbool labelobject navigatebool navigate_modeunknown path_effectsAbstractPathEffectpickerNone or bool or callable position[left, bottom, width, height] or Bboxprop_cycleunknown rasterization_zorderfloat or None rasterizedbool or None sketch_params(scale: float, length: float, randomness: float) snapbool or None titlestr transformTransformurlstr visiblebool xboundunknown xlabelstr xlim(bottom: float, top: float) xmarginfloat greater than -0.5 xscale{"linear", "log", "symlog", "logit", ...} xticklabelsunknown xticksunknown yboundunknown ylabelstr ylim(bottom: float, top: float) ymarginfloat greater than -0.5 yscale{"linear", "log", "symlog", "logit", ...} yticklabelsunknown yticksunknown zorderfloat - 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