          self.fig.set_size_inches(16, 9)
          self.fig.savefig(filename, bbox_inches="tight", dpi=120)
          print("Saved graph to {}".format(filename))
          logger.debug("Saved graph: '%s'", filename)
          self.resize_fig()
  
      def resize_fig(self):
          """ Resize the figure back to the canvas """
          class Event():  # pylint: disable=too-few-public-methods
              """ Event class that needs to be passed to plotcanvas.resize """
 
</s> remove     def resize_fig(self):
        """ Resize the figure back to the canvas """
 </s> add     def _resize_fig(self) -> None:
        """ Resize the figure to the current canvas size. """ </s> remove         filename = os.path.join(location, "{}_{}.{}".format(filename, now, "png"))
        self.fig.set_size_inches(16, 9)
        self.fig.savefig(filename, bbox_inches="tight", dpi=120)
        print("Saved graph to {}".format(filename))
 </s> add         filename = os.path.join(location, f"{filename}_{now}.png")
        self._fig.set_size_inches(16, 9)
        self._fig.savefig(filename, bbox_inches="tight", dpi=120)
        print(f"Saved graph to {filename}") </s> remove         self.plotcanvas.resize(Event)  # pylint: disable=no-value-for-parameter
 </s> add         self._plotcanvas.resize(Event)  # pylint: disable=no-value-for-parameter </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     """ 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._resize_fig()
          self.fig.set_size_inches(16, 9)
          self.fig.savefig(filename, bbox_inches="tight", dpi=120)
          print("Saved graph to {}".format(filename))
          logger.debug("Saved graph: '%s'", filename)
        self._resize_fig()
  
      def resize_fig(self):
          """ Resize the figure back to the canvas """
          class Event():  # pylint: disable=too-few-public-methods
              """ Event class that needs to be passed to plotcanvas.resize """
keep keep keep keep 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