code: def plot_signal(signal, sig_len, n_sig, fs, time_units, sig_style, axes):
      "Plot signal channels"
  
      # Extend signal style if necesary
      if len(sig_style) == 1:
          sig_style = n_sig * sig_style
  
      # Figure out time indices
      if time_units == 'samples':
          t = np.linspace(0, sig_len-1, sig_len)
      else:
          downsample_factor = {'seconds':fs, 'minutes':fs * 60,
                               'hours':fs * 3600}
          t = np.linspace(0, sig_len-1, sig_len) / downsample_factor[time_units]
  
      # Plot the signals
      if signal.ndim == 1:
          axes[0].plot(t, signal, sig_style[0], zorder=3)
      else:
          for ch in range(n_sig):
              axes[ch].plot(t, signal[:,ch], sig_style[ch], zorder=3f plot_signal(signal, sig_len, n_sig, fs, time_units, sig_style, axes):
      "Plot signal channels"
  
      # Extend signal style if necesary
      if len(sig_style) == 1:
          sig_style = n_sig * sig_style
  
      # Figure out time indices
      if time_units == 'samples':
          t = np.linspace(0, sig_len-1, sig_len)
      else:
          downsample_factor = {'seconds':fs, 'minutes':fs * 60,
                               'hours':fs * 3600}
          t = np.linspace(0, sig_len-1, sig_len) / downsample_factor[time_units]
  
      # Plot the signals
      if signal.ndim == 1:
          axes[0].plot(t, signal, sig_style[0], zorder=3)
      else:
          for ch in range(n_sig):
              axes[ch].plot(t, signal[:,ch], sig_style[ch], zorder=3)
docs: Plot signal channels