code: def setup_axes3(fig, rect):
      """
      Sometimes, things like axis_direction need to be adjusted.
      """
  
      # rotate a bit for better orientation
      tr_rotate = Affine2D().translate(-95, 0)
  
      # scale degree to radians
      tr_scale = Affine2D().scale(np.pi / 180.0, 1.0)
  
      tr = (
          tr_rotate
          + tr_scale
          + PolarAxes.PolarTransform(apply_theta_transforms=False)
      )
  
      grid_locator1 = angle_helper.LocatorHMS(4)
      tick_formatter1 = angle_helper.FormatterHMS()
  
      grid_locator2 = MaxNLocator(3)
  
      # Specify theta limits in degrees
      ra0, ra1 = 8.0 * 15, 14.0 * 15
      # Specify radial limits
      cz0, cz1 = 0, 14000
      grid_helper = floating_axes.GridHelperCurveLinear(
          tr,
          extremes=(ra0, ra1, cz0, cz1),
          grid_locator1=grid_locator1,
          grid_locator2=grid_locator2,
          tick_formatter1=tick_formatter1,
          tick_formatter2=None,
      )
  
      ax1 = fig.add_subplot(
          rect,
          axes_class=floating_axes.FloatingAxes,
          grid_helper=grid_helper,
      )
  
      # adjust axis
      ax1.axis["left"].set_axis_direction("bottom")
      ax1.axis["right"].set_axis_direction("top")
  
      ax1.axis["bottom"].set_visible(False)
      ax1.axis["top"].set_axis_direction("bottom")
      ax1.axis["top"].toggle(ticklabels=True, label=True)
      ax1.axis["top"].major_ticklabels.set_axis_direction("top")
      ax1.axis["top"].label.set_axis_direction("top")
  
      ax1.axis["left"].label.set_text(r"cz [km$^{-1}$]")
      ax1.axis["top"].label.set_text(r"$\alpha_{1950}$")
      ax1.grid()
  
      # create a parasite Axes whose transData in RA, cz
      aux_ax = ax1.get_aux_axes(tr)
  
      aux_ax.patch = (
          ax1.patch
      )  # for aux_ax to have a clip path as in ax
      ax1.patch.zorder = (
          0.9  # but this has a side effect that the patch is
      )
      # drawn twice, and possibly over some other
      # artists. So, we decrease the zorder a bit to
      # prevent this.
  
      return ax1, aux_ax
  
file_path: matplotlib/galleries/examples/axisartist/demo_floating_axes.py
imports: import matplotlib.pyplot
  import numpy
  from matplotlib.projections import PolarAxes
  from matplotlib.transforms import Affine2D
  import mpl_toolkits.axisartist.angle_helper
  import mpl_toolkits.axisartist.floating_axes
  from mpl_toolkits.axisartist.grid_finder import DictFormatter, FixedLocator, MaxNLocator
label_desc: Use image node_id 3 for calling a global function with example usage: setup_axes3(fig, rect) and returns: ax1,  aux_ax