code: def zoomed_inset_axes(
      parent_axes,
      zoom,
      loc=1,
      bbox_to_anchor=None,
      bbox_transform=None,
      axes_class=None,
      axes_kwargs=None,
      borderpad=0.5,
  ):
      """
      Create an anchored inset axes by scaling a parent axes. For usage, also see
      :ref:`the examples <sphx_glr_gallery_axes_grid1_inset_locator_demo2.py>`.
  
      Parameters
      ----------
      parent_axes : `matplotlib.axes.Axes`
          Axes to place the inset axes.
  
      zoom : float
          Scaling factor of the data axes. *zoom* > 1 will enlargen the
          coordinates (i.e., "zoomed in"), while *zoom* < 1 will shrink the
          coordinates (i.e., "zoomed out").
  
      loc : int or string, optional, default to 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_anchor : tuple or `matplotlib.transforms.BboxBase`, optional
          Bbox that the inset axes will be anchored to. If None,
          *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
          the units of the bounding box are determined through the transform
          in use. When using *bbox_to_anchor* 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 (i.e. pixel
          coordinates). This is useful when not providing any argument to
          *bbox_to_anchor*. When using *bbox_to_anchor* it almost always makes
          sense to also specify a *bbox_transform*. This might often be the
          axes transform *parent_axes.transAxes*. Inversely, when specifying
          the axes- or figure-transform here, be aware that not specifying
          *bbox_to_anchor* will use *parent_axes.bbox*, the units of which are
          in display (pixel) coordinates.
  
      axes_class : `matplotlib.axes.Axes` type, optional
          If specified, the inset axes created will be created with this class's
          constructor.
  
      axes_kwargs : dict, optional
          Keyworded arguments to pass to the constructor of the inset axes.
          Valid arguments include:
          %(Axes)s
  
      borderpad : float, optional
          Padding between inset axes and the bbox_to_anchor. Defaults to 0.5.
          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_axes : `axes_class`
          Inset axes object created.
      """
  
      if axes_class is None:
          axes_class = HostAxes
  
      if axes_kwargs is None:
          inset_axes = axes_class(
              parent_axes.figure, parent_axes.get_position()
          )
      else:
          inset_axes = axes_class(
              parent_axes.figure,
              parent_axes.get_position(),
              **axes_kwargs,
          )
  
      axes_locator = AnchoredZoomLocator(
          parent_axes,
          zoom=zoom,
          loc=loc,
          bbox_to_anchor=bbox_to_anchor,
          bbox_transform=bbox_transform,
          borderpad=borderpad,
      )
      inset_axes.set_axes_locator(axes_locator)
  
      _add_inset_axes(parent_axes, inset_axes)
  
      return inset_axes
  
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  import warnings
  from matplotlib import docstring
  import six
  from matplotlib.offsetbox import AnchoredOffsetbox
  from matplotlib.patches import Patch, Rectangle
  from matplotlib.path import Path
  from matplotlib.transforms import Bbox, BboxTransformTo
  from matplotlib.transforms import IdentityTransform, TransformedBbox
  from .None import axes_size
  from .parasite_axes import HostAxes
label_desc: Use image node_id 3 for calling a global function with example usage: zoomed_inset_axes(parent_axes, zoom, loc, bbox_to_anchor, bbox_transform, axes_class, axes_kwargs, borderpad) and returns: inset_axes