code: def setup_axes(fig, rect):
      """Polar projection, but in a rectangular box."""
  
      # see demo_curvelinear_grid.py for details
      tr = Affine2D().scale(
          np.pi / 180.0, 1.0
      ) + PolarAxes.PolarTransform(apply_theta_transforms=False)
  
      extreme_finder = angle_helper.ExtremeFinderCycle(
          20,
          20,
          lon_cycle=360,
          lat_cycle=None,
          lon_minmax=None,
          lat_minmax=(0, np.inf),
      )
  
      grid_locator1 = angle_helper.LocatorDMS(12)
      grid_locator2 = grid_finder.MaxNLocator(5)
  
      tick_formatter1 = angle_helper.FormatterDMS()
  
      grid_helper = GridHelperCurveLinear(
          tr,
          extreme_finder=extreme_finder,
          grid_locator1=grid_locator1,
          grid_locator2=grid_locator2,
          tick_formatter1=tick_formatter1,
      )
  
      ax1 = fig.add_subplot(
          rect, axes_class=axisartist.Axes, grid_helper=grid_helper
      )
      ax1.axis[:].set_visible(False)
      ax1.set_aspect(1.0)
      ax1.set_xlim(-5, 12)
      ax1.set_ylim(-5, 10)
  
      return ax1
  
file_path: matplotlib/galleries/examples/axisartist/simple_axis_pad.py
imports: import matplotlib.pyplot
  import numpy
  from matplotlib.projections import PolarAxes
  from matplotlib.transforms import Affine2D
  import mpl_toolkits.axisartist
  import mpl_toolkits.axisartist.angle_helper
  import mpl_toolkits.axisartist.grid_finder
  from mpl_toolkits.axisartist.grid_helper_curvelinear import GridHelperCurveLinear
label_desc: Use image node_id 1 for calling a global function with example usage: setup_axes(fig, rect) and returns: ax1