code: def plt_overlay_with_bands(
      df,
      x_col,
      y_col,
      split_col,
      perc=(25, 75),
      overlay_color="black",
      agg_col_colors=("blue", "black", "red"),
      plt_title=None,
  ):
      """Overlay by splitting wrt a column and plot wrt time.
          We also add quantile (percentile) bands
      :param df: pd.DataFrame
          data frame which includes the data
      :param x_col: str
          the column for the values for the x-axis
      :param y_col: str
          the column for the values for the y-axis
      :param split_col: str
          the column which is used to split the data
          to various partitions t be overlayed
      :param perc: tuple[float, float]
          the percentiles for the bands.
          The default is 25 and 75 percentiles
      :param overlay_color: Optional[str]
          the color of the overlayed curves.
          The color will be transparanet so we can see the curves overlap
      :param agg_col_colors: Optional[str]
          the color of the aggregate curves
      :param plt_title: Optional[str]
          the title of the plot.
          It will default to y_col if not provided
      """
  
      def quantile_fcn(q):
          return lambda x: np.nanpercentile(a=x, q=q)
  
      agg_dict = {
          y_col: [
              np.nanmean,
              quantile_fcn(perc[0]),
              quantile_fcn(perc[1]),
          ]
      }
  
      res = plt_overlay_long_df(
          df=df,
          x_col=x_col,
          y_col=y_col,
          split_col=split_col,
          agg_dict=agg_dict,
          agg_col_names=[
              "mean",
              ("Q" + str(perc[0])),
              ("Q" + str(perc[1])),
          ],
          overlay_color=overlay_color,
          agg_col_colors=agg_col_colors,
          plt_title=plt_title,
      )
  
      return res
  
file_path: greykite/greykite/common/viz/timeseries_plotting_mpl.py
imports: import colorsys
  import matplotlib
  import numpy
  from matplotlib import pyplot
  from pandas.plotting import register_matplotlib_converters
label_desc: Use image node_id 3 for calling a global function with example usage: plt_overlay_with_bands(df, x_col, y_col, split_col, perc, overlay_color, agg_col_colors, plt_title) and returns: res, function