          self.pack(side=tk.BOTTOM, fill=tk.X)
  
  
  class GraphBase(ttk.Frame):  # pylint: disable=too-many-ancestors
      """ Base class for matplotlib line graphs """
      def __init__(self, parent, data, ylabel):
          logger.debug("Initializing %s", self.__class__.__name__)
          super().__init__(parent)
          style.use("ggplot")
  
          self.calcs = data
 
</s> remove         self.message = tk.StringVar(master=self)
        self._message_label = ttk.Label(master=self, textvariable=self.message)
        self._message_label.pack(side=tk.LEFT, padx=5)
        self.pack(side=tk.BOTTOM, fill=tk.X)
 </s> add logger: logging.Logger = logging.getLogger(__name__) </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         self.scale = scale
 </s> add         self._scale = scale </s> remove     """ Session Graph for session pop-up """
    def __init__(self, parent, data, ylabel, scale):
 </s> add     """ Session Graph for session pop-up.

    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
    scale: str
        Should be one of ``"log"`` or ``"linear"``
    """
    def __init__(self, parent: ttk.Frame, data, ylabel: str, scale: str) -> None:
    """ 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.pack(side=tk.BOTTOM, fill=tk.X)
  
  
  class GraphBase(ttk.Frame):  # pylint: disable=too-many-ancestors
    """ 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:
    """ 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:
          logger.debug("Initializing %s", self.__class__.__name__)
          super().__init__(parent)
          style.use("ggplot")
  
          self.calcs = data
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