code: def _init_axis(self, fig, axis):
          
          if not fig and self._create_fig:
              fig = plt.figure()
              l, b, r, t = self.fig_bounds
              inches = self.fig_inches
              fig.subplots_adjust(left=l, bottom=b, right=r, top=t)
              fig.patch.set_alpha(self.fig_alpha)
              if isinstance(inches, (tuple, list)):
                  inches = list(inches)
                  if inches[0] is None:
                      inches[0] = inches[1]
                  elif inches[1] is None:
                      inches[1] = inches[0]
                  fig.set_size_inches(list(inches))
              else:
                  fig.set_size_inches([inches, inches])
              axis = fig.add_subplot(111, projection=self.projection)
              axis.set_aspect('auto')
          return fig, axis
docs: Return an axis which may need to be initialized from
          a new figure.