code: def colorgen(colors=None, n=None, scale=None, theme=None):
      
      from .themes import THEMES
      step = .1
      if not colors:
          if not scale:
              if not theme:
                  scale = get_config_file()['colorscale']
              else:
                  scale = THEMES[theme]['colorscale']
          colors = get_scales(scale)
      dq = deque(colors)
      if len(dq) == 0:
          dq = deque(get_scales('ggplot'))
      if n:
          step = len(dq) * 0.8 / n if len(dq) * 8 < n else .1
      for i in np.arange(.2, 1, step):
          for y in dq:
              yield to_rgba(y, 1 - i + .2)
          dq.rotate(1)
docs: Returns a generator with a list of colors
      and gradients of those colors
  
      Parameters:
      -----------
              colors : list(colors)
                      List of colors to use
  
      Example:
              colorgen()
              colorgen(['blue','red','pink'])
              colorgen(['#f03','rgb(23,25,25)'])