              logger.debug("Updating plot data")
              self.thread = LongRunningTask(target=self.calcs.refresh)
              self.thread.start()
              self.after(1000, self.refresh)
          elif not self.thread.complete.is_set():
              logger.debug("Graph Data not yet available")
              self.after(1000, self.refresh)
          else:
              logger.debug("Updating plot with data from background thread")
              self.calcs = self.thread.get_result()  # Terminate the LongRunningTask object
 
</s> remove             self.thread = LongRunningTask(target=self.calcs.refresh)
            self.thread.start()
 </s> add             self._thread = LongRunningTask(target=self._calcs.refresh)
            self._thread.start() </s> remove             self.calcs = self.thread.get_result()  # Terminate the LongRunningTask object
            self.thread = None
 </s> add             self._calcs = self._thread.get_result()  # Terminate the LongRunningTask object
            self._thread = None </s> remove         if self.thread is None:
 </s> add         if self._thread is None: </s> remove             dsp_keys = list(sorted(self.calcs.stats))
 </s> add             dsp_keys = list(sorted(self._calcs.stats)) </s> remove         if not refresh_var.get() and self.thread is None:
 </s> add         if not refresh_var.get() and self._thread is None:
        elif not self._thread.complete.is_set():
              logger.debug("Updating plot data")
              self.thread = LongRunningTask(target=self.calcs.refresh)
              self.thread.start()
              self.after(1000, self.refresh)
        elif not self._thread.complete.is_set():
              logger.debug("Graph Data not yet available")
              self.after(1000, self.refresh)
          else:
              logger.debug("Updating plot with data from background thread")
              self.calcs = self.thread.get_result()  # Terminate the LongRunningTask object
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