code: def pcolormesh(x, y, z, ax, infer_intervals=None, **kwargs):
      
  
      # decide on a default for infer_intervals (GH781)
      x = np.asarray(x)
      if infer_intervals is None:
          if hasattr(ax, 'projection'):
              if len(x.shape) == 1:
                  infer_intervals = True
              else:
                  infer_intervals = False
          else:
              infer_intervals = True
  
      if (infer_intervals and
              ((np.shape(x)[0] == np.shape(z)[1]) or
               ((x.ndim > 1) and (np.shape(x)[1] == np.shape(z)[1])))):
          if len(x.shape) == 1:
              x = _infer_interval_breaks(x, check_monotonic=True)
          else:
              # we have to infer the intervals on both axes
              x = _infer_interval_breaks(x, axis=1)
              x = _infer_interval_breaks(x, axis=0)
  
      if (infer_intervals and
              (np.shape(y)[0] == np.shape(z)[0])):
          if len(y.shape) == 1:
              y = _infer_interval_breaks(y, check_monotonic=True)
          else:
              # we have to infer the intervals on both axes
              y = _infer_interval_breaks(y, axis=1)
              y = _infer_interval_breaks(y, axis=0)
  
      primitive = ax.pcolormesh(x, y, z, **kwargs)
  
      # by default, pcolormesh picks "round" values for bounds
      # this results in ugly looking plots with lots of surrounding whitespace
      if not hasattr(ax, 'projection') and x.ndim == 1 and y.ndim == 1:
          # not a cartopy geoaxis
          ax.set_xlim(x[0], x[-1])
          ax.set_ylim(y[0], y[-1])
  
      return primitive
docs: Pseudocolor plot of 2d DataArray
  
      Wraps :func:`matplotlib:matplotlib.pyplot.pcolormesh`