docs: def multi_plot_PSD(DataArray, xlim=[0, 500], units="kHz", LabelArray=[], ColorArray=[], alphaArray=[], show_fig=True):
      """
      plot the pulse spectral density for multiple data sets on the same
      axes.
  
      Parameters
      ----------
      DataArray : array-like
          array of DataObject instances for which to plot the PSDs
      xlim : array-like, optional
          2 element array specifying the lower and upper x limit for which to
          plot the Power Spectral Density
      units : string
          units to use for the x axis
      LabelArray : array-like, optional
          array of labels for each data-set to be plotted
      ColorArray : array-like, optional
          array of colors for each data-set to be plotted
      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 axes object created
      """
      unit_prefix = units[:-2] # removed the last 2 chars
      if LabelArray == []:
          LabelArray = ["DataSet {}".format(i)
                        for i in _np.arange(0, len(DataArray), 1)]
      if ColorArray == []:
          ColorArray = _np.empty(len(DataArray))
          ColorArray = list(ColorArray)
          for i, ele in enumerate(ColorArray):
              ColorArray[i] = None    
  
      if alphaArray == []:
          alphaArray = _np.empty(len(DataArray))
          alphaArray = list(alphaArray)
          for i, ele in enumerate(alphaArray):
              alphaArray[i] = None    
  
              
      fig = _plt.figure(figsize=properties['default_fig_size'])
      ax = fig.add_subplot(111)
  
      for i, data in enumerate(DataArray):
          ax.semilogy(unit_conversion(data.freqs, unit_prefix), data.PSD, label=LabelArray[i], color=ColorArray[i], alpha=alphaArray[i])
              
      ax.set_xlabel("Frequency ({})".format(units))
      ax.set_xlim(xlim)
      ax.grid(which="major")
      legend = ax.legend(loc="best", frameon = 1)
      frame = legend.get_frame()
      frame.set_facecolor('white')
      frame.set_edgecolor('white')
      ax.set_ylabel("PSD ($v^2/Hz$)")
  
      _plt.title('filedir=%s' % (DataArray[0].filedir))
  
      if show_fig == True:
          _plt.show()
      return fig, ax