  
  class SessionGraph(GraphBase):  # pylint: disable=too-many-ancestors
      """ Session Graph for session pop-up """
      def __init__(self, parent, data, ylabel, scale):
          GraphBase.__init__(self, parent, data, ylabel)
          self.scale = scale
  
      def build(self):
          """ Build the session graph """
          logger.debug("Building session graph")
 
</s> remove         GraphBase.__init__(self, parent, data, ylabel)
 </s> add         super().__init__(parent, data, ylabel) </s> remove         self.trace_var = None
 </s> add         self._trace_vars = dict() </s> remove     """ Stats frame of analysis tab """
 </s> add     """ Stats frame of analysis tab.

    Holds the tree-view containing the summarized session statistics in the Analysis tab.

    Parameters
    ----------
    parent: :class:`tkinter.Frame`
        The frame within the Analysis Notebook that will hold the statistics
    selected_id: :class:`tkinter.IntVar`
        The tkinter variable that holds the currently selected session ID
    helptext: str
        The help text to display for the summary statistics page
    """ </s> remove     def __init__(self, session):
        logger.debug("Initializing %s: (session: %s)", self.__class__.__name__, session)
        self.session = session
        logger.debug("Initialized %s", self.__class__.__name__)
 </s> add         Parameters
        ----------
        session_id: int
            The session id to compile the stats for
        timestamps:
            The time stamp summary data for the given session id
        super().__init__(parent, data, ylabel)
  
  class SessionGraph(GraphBase):  # pylint: disable=too-many-ancestors
      """ Session Graph for session pop-up """
      def __init__(self, parent, data, ylabel, scale):
        super().__init__(parent, data, ylabel)
          self.scale = scale
  
      def build(self):
          """ Build the session graph """
          logger.debug("Building session graph")
keep keep keep keep replace keep keep keep keep keep
 GUI - Stats optimization (#1067)

* Faster stat loading + caching

* Compress data in cache

* Optimize some calculations

* Vectorize smoothing

* stats.Calculations optimized

* Load latest training data from live iterator

* Add options to training graph 
lib/gui/display_graph.py