class_docstr: Creates PlotsManager object
  
  This class should be only created by arena instance to manage its plots.
  
  Parameters
  ----------
  arena : dalex.Arena
      Instance of Arena.
  
  Attributes
  --------
  arena : Arena
      Instance of dalex.Arena
  cache : list of PlotContainer objects
      List of already calculated plots
  mutex : _thread.lock
      Mutex for params, plots and resources cache. Should be common with mutex from Arena instance.
  plots : list of classes extending PlotContainer
      List of available plot classes
docstr: Generates all available plots and cache them
  
  This function tries to generate all plots that are not cached already and
  put them to cache. Range of generated plots can be narrow using `fixed_params`
  
  Parameters
  -----------
  fixed_params : dict
      This dict specifies which plots should be generated. Only those with
      all keys from `fixed_params` present and having the same value will be
      calculated.
code: def fill_cache(self, fixed_params={}):
      """Generates all available plots and cache them
  
      This function tries to generate all plots that are not cached already and
      put them to cache. Range of generated plots can be narrow using `fixed_params`
  
      Parameters
      -----------
      fixed_params : dict
          This dict specifies which plots should be generated. Only those with
          all keys from `fixed_params` present and having the same value will be
          calculated.
      """
      if not isinstance(fixed_params, dict):
          raise Exception("Params argument must be a dict")
      for plot_class in self.get_supported_plots():
          required_params = plot_class.info.get("requiredParams")
          # Test if all params fixed by user are used in this plot. If not, then skip it.
          # This list contains fixed params' types, that are not required by plot.
          # Loop will be skipped if this list is not empty.
          if (
              len(
                  [
                      k
                      for k in fixed_params.keys()
                      if k not in required_params
                  ]
              )
              > 0
          ):
              continue
          available_params = self.arena.get_available_params()
          iteration_pools = map(
              lambda p: available_params.get(p)
              if fixed_params.get(p) is None
              else [fixed_params.get(p)],
              required_params,
          )
          combinations = [[]]
          for pool in iteration_pools:
              combinations = [
                  x + [y] for x in combinations for y in pool
              ]
          if self.arena.verbose and len(combinations) > 0:
              combinations = tqdm(combinations)
              combinations.set_description(plot_class.info.get("name"))
          for params_values in combinations:
              params = dict(zip(required_params, params_values))
              self.get_plot(
                  plot_type=plot_class.info.get("plotType"),
                  params_values=params,
                  wait=True,
              )
  
file_path: DALEX/python/dalex/dalex/arena/_plots_manager.py
imports: import time
  from .None import plots
  from tqdm import tqdm
  from ._plot_container import PlotContainer
label_desc: Use image node_id 6 for calling the PlotsManager obj's underlying member method code with example usage: obj.fill_cache(fixed_params) without return types