code: def plot(self, figure_list):
          
          # if there is not data we do not plot anything
          if not self.data:
              return
  
          # if plot function is called when script is not running we request a plot refresh
          if not self.is_running:
              self._plot_refresh = True
  
          axes_list = self.get_axes_layout(figure_list)
          if self._plot_refresh is True:
              self._plot(axes_list)
              self._plot_refresh = False
              for figure in figure_list:
                  if figure.axes:
                      figure.set_tight_layout(True)
          else:
              self._update_plot(axes_list)
docs: plots the data contained in self.data, which should be a dictionary or a deque of dictionaries
          for the latter use the last entry
          Args:
              figure_list: list of figure objects that are passed to self.get_axes_layout to get axis objects for plotting