code: def plot_time_data(self, timeStart=None, timeEnd=None, units='s', show_fig=True):
          
          unit_prefix = units[:-1] # removed the last char
          if timeStart == None:
              timeStart = self.timeStart
          if timeEnd == None:
              timeEnd = self.timeEnd
  
          time = self.time.get_array()
  
          StartIndex = _np.where(time == take_closest(time, timeStart))[0][0]
          EndIndex = _np.where(time == take_closest(time, timeEnd))[0][0]
  
          fig = _plt.figure(figsize=properties['default_fig_size'])
          ax = fig.add_subplot(111)
          ax.plot(unit_conversion(time[StartIndex:EndIndex], unit_prefix),
                  self.voltage[StartIndex:EndIndex])
          ax.set_xlabel("time ({})".format(units))
          ax.set_ylabel("voltage (V)")
          ax.set_xlim([timeStart, timeEnd])
          if show_fig == True:
              _plt.show()
          return fig, ax
docs: plot time data against voltage data.
  
          Parameters
          ----------
          timeStart : float, optional
              The time to start plotting from.
              By default it uses the first time point
          timeEnd : float, optional
              The time to finish plotting at.
              By default it uses the last time point
          units : string, optional
              units of time to plot on the x axis - defaults to s
          show_fig : bool, optional
              If True runs plt.show() before returning figure
              if False it just returns the figure object.
              (the default is True, it shows the figure)
  
          Returns
          -------
          fig : matplotlib.figure.Figure object
              The figure object created
          ax : matplotlib.axes.Axes object
              The subplot object created