class_docstr: This module takes the time-series data of already computed statistics, plots the data and
  combines all the plots into a list which is stored together with the section name in a dictionary
  which later will be used for the report generation.
class_docstr_tok: ["This","module","takes","the","time-series","data","of","already","computed","statistics",",","plots","the","data","and","combines","all","the","plots","into","a","list","which","is","stored","together","with","the","section","name","in","a","dictionary","which","later","will","be","used","for","the","report","generation","."]
docstr: Initialize an instance of SectionGenerator.
  
  :param str read_key: key of input data to read from the datastore and use for plotting
  :param str store_key: key for output data to be stored in the datastore
  :param str section_name: key of output data to store in the datastore
  :param list features: list of features to pick up from input data (optional)
  :param list ignore_features: ignore list of features, if present (optional)
  :param str static_bounds: key to static traffic light bounds key in datastore (optional)
  :param str dynamic_bounds: key to dynamic traffic light bounds key in datastore (optional)
  :param str prefix: dynamic traffic light prefix. default is ``'traffic_light_'`` (optional)
  :param str suffices: dynamic traffic light suffices. (optional)
  :param list ignore_stat_endswith: ignore stats ending with any of list of suffices. (optional)
  :param str description: description of the section. default is empty (optional)
docstr_tok: ["Initialize","an","instance","of","SectionGenerator",".",":","param","str","read_key",":","key","of","input","data","to","read","from","the","datastore","and","use","for","plotting",":","param","str","store_key",":","key","for","output","data","to","be","stored","in","the","datastore",":","param","str","section_name",":","key","of","output","data","to","store","in","the","datastore",":","param","list","features",":","list","of","features","to","pick","up","from","input","data","(","optional",")",":","param","list","ignore_features",":","ignore","list","of","features",",","if","present","(","optional",")",":","param","str","static_bounds",":","key","to","static","traffic","light","bounds","key","in","datastore","(","optional",")",":","param","str","dynamic_bounds",":","key","to","dynamic","traffic","light","bounds","key","in","datastore","(","optional",")",":","param","str","prefix",":","dynamic","traffic","light","prefix",".","default","is","``","'traffic_light_","'","``","(","optional",")",":","param","str","suffices",":","dynamic","traffic","light","suffices",".","(","optional",")",":","param","list","ignore_stat_endswith",":","ignore","stats","ending","with","any","of","list","of","suffices",".","(","optional",")",":","param","str","description",":","description","of","the","section",".","default","is","empty","(","optional",")"]
code: def __init__(
      self,
      read_key,
      store_key,
      section_name,
      settings: Report,
      features=None,
      ignore_features=None,
      static_bounds=None,
      dynamic_bounds=None,
      prefix: str = "traffic_light_",
      suffices=None,
      ignore_stat_endswith=None,
      description: str = "",
  ) -> None:
      """Initialize an instance of SectionGenerator.
  
      :param str read_key: key of input data to read from the datastore and use for plotting
      :param str store_key: key for output data to be stored in the datastore
      :param str section_name: key of output data to store in the datastore
      :param list features: list of features to pick up from input data (optional)
      :param list ignore_features: ignore list of features, if present (optional)
      :param str static_bounds: key to static traffic light bounds key in datastore (optional)
      :param str dynamic_bounds: key to dynamic traffic light bounds key in datastore (optional)
      :param str prefix: dynamic traffic light prefix. default is ``'traffic_light_'`` (optional)
      :param str suffices: dynamic traffic light suffices. (optional)
      :param list ignore_stat_endswith: ignore stats ending with any of list of suffices. (optional)
      :param str description: description of the section. default is empty (optional)
      """
      super().__init__()
      self.read_key = read_key
      self.store_key = store_key
      self.dynamic_bounds = dynamic_bounds
      self.static_bounds = static_bounds
  
      self.features = features or []
      self.ignore_features = ignore_features or []
      self.section_name = section_name
      self.last_n = settings.last_n
      self.skip_first_n = settings.skip_first_n
      self.skip_last_n = settings.skip_last_n
      self.prefix = prefix
      self.suffices = suffices or [
          "_red_high",
          "_yellow_high",
          "_yellow_low",
          "_red_low",
      ]
      self.ignore_stat_endswith = ignore_stat_endswith or []
      self.description = description
      self.show_stats = (
          settings.show_stats if not settings.extended_report else None
      )
      self.primary_color = settings.primary_color
      self.tl_colors = settings.tl_colors
  
file_path: popmon/popmon/visualization/section_generator.py
imports: from __future__ import annotations
  from collections import defaultdict
  import numpy
  import pandas
  from tqdm import tqdm
  from popmon.analysis.comparison import Comparisons
  from popmon.analysis.profiling import Profiles
  from popmon.base import Module
  from popmon.config import Report
  from popmon.utils import filter_metrics, parallel, short_date
  from popmon.visualization.utils import _prune, plot_bars
label_desc: Use image node_id 1 to create a new SectionGenerator object from inherited base classes: Module with example: obj = SectionGenerator(read_key, store_key, section_name, settings, features, ignore_features, static_bounds, dynamic_bounds, prefix, suffices, ignore_stat_endswith, description)