docs: def color_gen(colormap='viridis', key=None, n=15):
      """Color generator for Bokeh plots
  
      Parameters
      ----------
      colormap: str, sequence
          The name of the color map
  
      Returns
      -------
      generator
          A generator for the color palette
      """
      if colormap in dir(bpal):
          palette = getattr(bpal, colormap)
  
          if isinstance(palette, dict):
              if key is None:
                  key = list(palette.keys())[0]
              palette = palette[key]
  
          elif callable(palette):
              palette = palette(n)
  
          else:
              raise TypeError("pallette must be a bokeh palette name or a sequence of color hex values.")
  
      elif isinstance(colormap, (list, tuple)):
          palette = colormap
  
      else:
          raise TypeError("pallette must be a bokeh palette name or a sequence of color hex values.")
  
      yield from itertools.cycle(palette)