code: def zoom_effect02(ax1, ax2, **kwargs):
      """
      ax1 : the main Axes
      ax1 : the zoomed Axes
  
      Similar to zoom_effect01.  The xmin & xmax will be taken from the
      ax1.viewLim.
      """
  
      tt = ax1.transScale + (ax1.transLimits + ax2.transAxes)
      trans = blended_transform_factory(ax2.transData, tt)
  
      mybbox1 = ax1.bbox
      mybbox2 = TransformedBbox(ax1.viewLim, trans)
  
      prop_patches = {**kwargs, "ec": "none", "alpha": 0.2}
  
      c1, c2, bbox_patch1, bbox_patch2, p = connect_bbox(
          mybbox1,
          mybbox2,
          loc1a=3,
          loc2a=2,
          loc1b=4,
          loc2b=1,
          prop_lines=kwargs,
          prop_patches=prop_patches,
      )
  
      ax1.add_patch(bbox_patch1)
      ax2.add_patch(bbox_patch2)
      ax2.add_patch(c1)
      ax2.add_patch(c2)
      ax2.add_patch(p)
  
      return c1, c2, bbox_patch1, bbox_patch2, p
  
imports: import matplotlib.pyplot
  from matplotlib.transforms import Bbox, TransformedBbox, blended_transform_factory
  from mpl_toolkits.axes_grid1.inset_locator import BboxConnector, BboxConnectorPatch, BboxPatch
label_desc: Use image node_id 3 for calling a global function with example usage: zoom_effect02(ax1, ax2) and returns: c1,  c2,  bbox_patch1,  bbox_patch2,  p