code: def get_plot(self, xlim=None, ylim=None):
          
  
          plt = pretty_plot(12, 8)
          base = 0.0
          i = 0
          for key, sp in self._spectra.items():
              if not self.stack:
                  plt.plot(sp.x, sp.y + self.yshift * i, color=self.colors[i],
                           label=str(key), linewidth=3)
              else:
                  plt.fill_between(sp.x, base, sp.y + self.yshift * i,
                                   color=self.colors[i],
                                   label=str(key), linewidth=3)
                  base = sp.y + base
              plt.xlabel(sp.XLABEL)
              plt.ylabel(sp.YLABEL)
              i += 1
  
          if xlim:
              plt.xlim(xlim)
          if ylim:
              plt.ylim(ylim)
  
          plt.legend()
          leg = plt.gca().get_legend()
          ltext = leg.get_texts()  # all the text.Text instance in the legend
          plt.setp(ltext, fontsize=30)
          plt.tight_layout()
          return plt
docs: Get a matplotlib plot showing the DOS.
  
          Args:
              xlim: Specifies the x-axis limits. Set to None for automatic
                  determination.
              ylim: Specifies the y-axis limits.