          """ Update the plot with incoming data """
          logger.trace("Updating plot")
          if initiate:
              logger.debug("Initializing plot")
              self.lines = list()
              self.ax1.clear()
              self.axes_labels_set()
              logger.debug("Initialized plot")
  
          fulldata = [item for item in self.calcs.stats.values()]
          self.axes_limits_set(fulldata)
  
 
</s> remove         fulldata = [item for item in self.calcs.stats.values()]
        self.axes_limits_set(fulldata)
 </s> add         fulldata = list(self._calcs.stats.values())
        self._axes_limits_set(fulldata) </s> remove     def update_plot(self, initiate=True):
        """ Update the plot with incoming data """
 </s> add     def _update_plot(self, initiate: bool = True) -> None:
        """ Update the plot with incoming data

        Parameters
        ----------
        initiate: bool, Optional
            Whether the graph should be initialized for the first time (``True``) or data is being
            updated for an existing graph (``False``). Default: ``True``
        """ </s> remove         self.plotcanvas.get_tk_widget().pack(side=tk.TOP, padx=5, fill=tk.BOTH, expand=True)
        self.fig.subplots_adjust(left=0.100,
                                 bottom=0.100,
                                 right=0.95,
                                 top=0.95,
                                 wspace=0.2,
                                 hspace=0.2)
 </s> add         self._plotcanvas.get_tk_widget().pack(side=tk.TOP, padx=5, fill=tk.BOTH, expand=True)
        self._fig.subplots_adjust(left=0.100,
                                  bottom=0.100,
                                  right=0.95,
                                  top=0.95,
                                  wspace=0.2,
                                  hspace=0.2) </s> remove         if self.calcs.start_iteration > 0:
            end_iteration = self.calcs.start_iteration + self.calcs.iterations
            xrng = list(range(self.calcs.start_iteration, end_iteration))
 </s> add         if self._calcs.start_iteration > 0:
            end_iteration = self._calcs.start_iteration + self._calcs.iterations
            xrng = list(range(self._calcs.start_iteration, end_iteration)) </s> remove             self.legend_place()
 </s> add             self._legend_place()
            self._lines = []
            self._ax1.clear()
            self._axes_labels_set()
          """ Update the plot with incoming data """
          logger.trace("Updating plot")
          if initiate:
              logger.debug("Initializing plot")
            self._lines = []
            self._ax1.clear()
            self._axes_labels_set()
            self._lines = []
            self._ax1.clear()
            self._axes_labels_set()
            self._lines = []
            self._ax1.clear()
            self._axes_labels_set()
              logger.debug("Initialized plot")
  
          fulldata = [item for item in self.calcs.stats.values()]
          self.axes_limits_set(fulldata)
  
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