class_docstr: Class to handle logic from ForestPlot.
docstr: Draw shaded horizontal bands for each plotter.
docstr_tok: ["Draw","shaded","horizontal","bands","for","each","plotter","."]
code: def make_bands(self, ax):
      """Draw shaded horizontal bands for each plotter."""
      y_vals, y_prev, is_zero = [0], None, False
      prev_color_index = 0
      for plotter in self.plotters.values():
          for y, *_, color in plotter.iterator():
              if self.colors.index(color) < prev_color_index:
                  if not is_zero and y_prev is not None:
                      y_vals.append((y + y_prev) * 0.5)
                      is_zero = True
              else:
                  is_zero = False
              prev_color_index = self.colors.index(color)
              y_prev = y
  
      offset = (
          plotter.group_offset
      )  # pylint: disable=undefined-loop-variable
  
      y_vals.append(y_prev + offset)
      for idx, (y_start, y_stop) in enumerate(pairwise(y_vals)):
          ax.axhspan(y_start, y_stop, color="k", alpha=0.1 * (idx % 2))
      return ax
  
imports: from collections import OrderedDict, defaultdict
  from itertools import tee
  import matplotlib.pyplot
  import numpy
  from matplotlib.colors import to_rgba
  from matplotlib.lines import Line2D
  from ....stats import hdi
  from ....stats.density_utils import get_bins, histogram, kde
  from ....stats.diagnostics import _ess, _rhat
  from ....sel_utils import xarray_var_iter
  from ....utils import conditional_jit
  from ...plot_utils import _scale_fig_size
  from .None import backend_kwarg_defaults, backend_show
label_desc: Use image node_id 10 for calling the PlotHandler obj's underlying member method code with example usage: obj.make_bands(ax) and returns: ax