docs: def map(self, func, *args, **kwargs):
          """
          Apply a plotting function to each facet's subset of the data.
  
          Parameters
          ----------
          func : callable
              A plotting function that takes data and keyword arguments. It
              must plot to the currently active matplotlib Axes and take a
              `color` keyword argument. If faceting on the `hue` dimension,
              it must also take a `label` keyword argument.
          args : strings
              Column names in self.data that identify variables with data to
              plot. The data for each variable is passed to `func` in the
              order the variables are specified in the call.
          kwargs : keyword arguments
              All keyword arguments are passed to the plotting function.
  
          Returns
          -------
          self : FacetGrid object
  
          """
          plt = import_matplotlib_pyplot()
  
          for ax, namedict in zip(self.axes.flat, self.name_dicts.flat):
              if namedict is not None:
                  data = self.data.loc[namedict]
                  plt.sca(ax)
                  innerargs = [data[a].values for a in args]
                  maybe_mappable = func(*innerargs, **kwargs)
                  # TODO: better way to verify that an artist is mappable?
                  # https://stackoverflow.com/questions/33023036/is-it-possible-to-detect-if-a-matplotlib-artist-is-a-mappable-suitable-for-use-w#33023522
                  if (maybe_mappable and
                     hasattr(maybe_mappable, 'autoscale_None')):
                      self._mappables.append(maybe_mappable)
  
          self._finalize_grid(*args[:2])
  
          return self