code: def recolor(self, random_state=None, color_func=None, colormap=None):
          
          if isinstance(random_state, int):
              random_state = Random(random_state)
          self._check_generated()
  
          if color_func is None:
              if colormap is None:
                  color_func = self.color_func
              else:
                  color_func = colormap_color_func(colormap)
          self.layout_ = [(word_freq, font_size, position, orientation,
                           color_func(word=word_freq[0], font_size=font_size,
                                      position=position, orientation=orientation,
                                      random_state=random_state,
                                      font_path=self.font_path))
                          for word_freq, font_size, position, orientation, _
                          in self.layout_]
          return self
docs: Recolor existing layout.
  
          Applying a new coloring is much faster than generating the whole
          wordcloud.
  
          Parameters
          ----------
          random_state : RandomState, int, or None, default=None
              If not None, a fixed random state is used. If an int is given, this
              is used as seed for a random.Random state.
  
          color_func : function or None, default=None
              Function to generate new color from word count, font size, position
              and orientation.  If None, self.color_func is used.
  
          colormap : string or matplotlib colormap, default=None
              Use this colormap to generate new colors. Ignored if color_func
              is specified. If None, self.color_func (or self.color_map) is used.
  
          Returns
          -------
          self