  
      def clear(self):
          """ Clear the plots from RAM """
          logger.debug("Clearing graph from RAM: %s", self)
          self.fig.clf()
          del self.fig
  
  
  class TrainingGraph(GraphBase):  # pylint: disable=too-many-ancestors
      """ Live graph to be displayed during training. """
  
 
</s> remove     def clear(self):
        """ Clear the plots from RAM """
 </s> add     def clear(self) -> None:
        """ Clear the graph plots from RAM """ </s> remove         self.toolbar = NavigationToolbar(self.plotcanvas, parent)
        self.toolbar.pack(side=tk.BOTTOM)
        self.toolbar.update()
 </s> add         self._toolbar = NavigationToolbar(self._plotcanvas, parent)
        self._toolbar.pack(side=tk.BOTTOM)
        self._toolbar.update() </s> remove     """ Live graph to be displayed during training. """

    def __init__(self, parent, data, ylabel):
 </s> add     """ Live graph to be displayed during training.

    Parameters
    ----------
    parent: :class:`tkinter.ttk.Frame`
        The parent frame that holds the graph
    data: :class:`lib.gui.analysis.stats.Calculations`
        The statistics class that holds the data to be displayed
    ylabel: str
        The data label for the y-axis
    """

    def __init__(self, parent: ttk.Frame, data, ylabel: str) -> None: </s> remove         self.thread = None  # Thread for LongRunningTask
 </s> add         self._thread = None  # Thread for LongRunningTask </s> remove     """ Base class for matplotlib line graphs """
    def __init__(self, parent, data, ylabel):
 </s> add     """ Base class for matplotlib line graphs.

    Parameters
    ----------
    parent: :class:`tkinter.ttk.Frame`
        The parent frame that holds the graph
    data: :class:`lib.gui.analysis.stats.Calculations`
        The statistics class that holds the data to be displayed
    ylabel: str
        The data label for the y-axis
    """
    def __init__(self, parent: ttk.Frame, data, ylabel: str) -> None:
        self._fig.clf()
        del self._fig
  
      def clear(self):
          """ Clear the plots from RAM """
          logger.debug("Clearing graph from RAM: %s", self)
        self._fig.clf()
        del self._fig
        self._fig.clf()
        del self._fig
  
  
  class TrainingGraph(GraphBase):  # pylint: disable=too-many-ancestors
      """ Live graph to be displayed during training. """
  
keep keep keep keep replace replace keep keep keep keep keep
 Update matplotlib requirement
  - bump min requirement to 3.5.1
  - Fix custom toolbar for v3.5.1
  - Documentation + linting 
lib/gui/display_graph.py