docs: def _get_envelopes_min_maxes(envelopes):
      """
      Returns the extrema of the inputted polygonal envelopes. Used for setting chart extent where appropriate. Note
      tha the ``Quadtree.bounds`` object property serves a similar role.
  
      Parameters
      ----------
      envelopes : GeoSeries
          The envelopes of the given geometries, as would be returned by e.g. ``data.geometry.envelope.exterior``.
  
      Returns
      -------
      (xmin, xmax, ymin, ymax) : tuple
          The data extrema.
  
      """
      xmin = np.min(envelopes.map(lambda linearring: np.min([linearring.coords[1][0],
                                                            linearring.coords[2][0],
                                                            linearring.coords[3][0],
                                                            linearring.coords[4][0]])))
      xmax = np.max(envelopes.map(lambda linearring: np.max([linearring.coords[1][0],
                                                            linearring.coords[2][0],
                                                            linearring.coords[3][0],
                                                            linearring.coords[4][0]])))
      ymin = np.min(envelopes.map(lambda linearring: np.min([linearring.coords[1][1],
                                                             linearring.coords[2][1],
                                                             linearring.coords[3][1],
                                                             linearring.coords[4][1]])))
      ymax = np.max(envelopes.map(lambda linearring: np.max([linearring.coords[1][1],
                                                             linearring.coords[2][1],
                                                             linearring.coords[3][1],
                                                             linearring.coords[4][1]])))
      return xmin, xmax, ymin, ymax