          else:
              self.axes_limits_set_default()
  
      @staticmethod
      def axes_data_get_min_max(data):
          """ Return the minimum and maximum values from list of lists """
          ymin, ymax = list(), list()
  
          for item in data:  # TODO Handle as array not loop
              ymin.append(np.nanmin(item) * 1000)
              ymax.append(np.nanmax(item) * 1000)
          ymin = floor(min(ymin)) / 1000
 
</s> remove             self.axes_limits_set_default()
 </s> add             self._axes_limits_set_default() </s> remove             ymin, ymax = self.axes_data_get_min_max(data)
            self.ax1.set_ylim(ymin, ymax)
            self.ax1.set_xlim(xmin, xmax)
 </s> add             ymin, ymax = self._axes_data_get_min_max(data)
            self._ax1.set_ylim(ymin, ymax)
            self._ax1.set_xlim(xmin, xmax) </s> remove     def axes_set_yscale(self, scale):
        """ Set the Y-Scale to log or linear """
 </s> add     def _axes_set_yscale(self, scale: str) -> None:
        """ Set the Y-Scale to log or linear

        Parameters
        ----------
        scale: str
            Should be one of ``"log"`` or ``"linear"``
        """ </s> remove     def lines_style(self, lines, groupsize):
        """ Set the color map and line width for each group """
 </s> add     def _lines_style(self,
                     lines: List[str],
                     groupsize: int) -> List[List[Union[str, int, Tuple[float]]]]:
        """ Obtain the color map and line width for each group.

        Parameters
        ----------
        lines: list
            The list of sorted line keys to display on the graph
        groupsize: int
            The size of each group to display in the graph

        Returns
        -------
        list
            A list of loss keys with their corresponding line formatting and color information
        """ </s> remove     def lines_sort(self, keys):
        """ Sort the data keys into consistent order
            and set line color map and line width """
 </s> add         Parameters
        ----------
        keys: list
            The list of data point keys

        Returns
        -------
        list
            A list of loss keys with their corresponding line formatting and color information
        """
    def _axes_data_get_min_max(data: List[float]) -> Tuple[float]:
        """ Obtain the minimum and maximum values for the y-axis from the given data points.

        Parameters
        ----------
        data: list
            The data points for the Y Axis

        Returns
        -------
        tuple
            The minimum and maximum values for the y axis
        """
        ymin, ymax = [], []
          else:
              self.axes_limits_set_default()
  
      @staticmethod
    def _axes_data_get_min_max(data: List[float]) -> Tuple[float]:
        """ Obtain the minimum and maximum values for the y-axis from the given data points.

        Parameters
        ----------
        data: list
            The data points for the Y Axis

        Returns
        -------
        tuple
            The minimum and maximum values for the y axis
        """
        ymin, ymax = [], []
    def _axes_data_get_min_max(data: List[float]) -> Tuple[float]:
        """ Obtain the minimum and maximum values for the y-axis from the given data points.

        Parameters
        ----------
        data: list
            The data points for the Y Axis

        Returns
        -------
        tuple
            The minimum and maximum values for the y axis
        """
        ymin, ymax = [], []
    def _axes_data_get_min_max(data: List[float]) -> Tuple[float]:
        """ Obtain the minimum and maximum values for the y-axis from the given data points.

        Parameters
        ----------
        data: list
            The data points for the Y Axis

        Returns
        -------
        tuple
            The minimum and maximum values for the y axis
        """
        ymin, ymax = [], []
  
          for item in data:  # TODO Handle as array not loop
              ymin.append(np.nanmin(item) * 1000)
              ymax.append(np.nanmax(item) * 1000)
          ymin = floor(min(ymin)) / 1000
keep keep keep keep replace 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