docs: def map_dataarray(self, func, x, y, **kwargs):
          """
          Apply a plotting function to a 2d facet's subset of the data.
  
          This is more convenient and less general than ``FacetGrid.map``
  
          Parameters
          ----------
          func : callable
              A plotting function with the same signature as a 2d xarray
              plotting method such as `xarray.plot.imshow`
          x, y : string
              Names of the coordinates to plot on x, y axes
          kwargs :
              additional keyword arguments to func
  
          Returns
          -------
          self : FacetGrid object
  
          """
  
          if kwargs.get('cbar_ax', None) is not None:
              raise ValueError('cbar_ax not supported by FacetGrid.')
  
          cmap_params, cbar_kwargs = _process_cmap_cbar_kwargs(
              func, kwargs, self.data.values)
  
          self._cmap_extend = cmap_params.get('extend')
  
          # Order is important
          func_kwargs = kwargs.copy()
          func_kwargs.update(cmap_params)
          func_kwargs.update({'add_colorbar': False, 'add_labels': False})
  
          # Get x, y labels for the first subplot
          x, y = _infer_xy_labels(
              darray=self.data.loc[self.name_dicts.flat[0]], x=x, y=y,
              imshow=func.__name__ == 'imshow', rgb=kwargs.get('rgb', None))
  
          for d, ax in zip(self.name_dicts.flat, self.axes.flat):
              # None is the sentinel value
              if d is not None:
                  subset = self.data.loc[d]
                  mappable = func(subset, x=x, y=y, ax=ax, **func_kwargs)
                  self._mappables.append(mappable)
  
          self._cmap_extend = cmap_params.get('extend')
          self._finalize_grid(x, y)
  
          if kwargs.get('add_colorbar', True):
              self.add_colorbar(**cbar_kwargs)
  
          return self