code: def render(self, h, w):
          'resets plotter, cancels previous render threads, spawns a new render'
          self.needsRefresh = False
          cancelThread(*(t for t in self.currentThreads if t.name == 'plotAll_async'))
          self.labels.clear()
          self.resetCanvasDimensions(h, w)
          self.render_async(f render(self, h, w):
          'resets plotter, cancels previous render threads, spawns a new render'
          self.needsRefresh = False
          cancelThread(*(t for t in self.currentThreads if t.name == 'plotAll_async'))
          self.labels.clear()
          self.resetCanvasDimensions(h, w)
          self.render_async()
docs: resets plotter, cancels previous render threads, spawns a new render