docs: def get_pourbaix_plot(self, limits=None, title="",
                            label_domains=True, plt=None):
          """
          Plot Pourbaix diagram.
  
          Args:
              limits: 2D list containing limits of the Pourbaix diagram
                  of the form [[xlo, xhi], [ylo, yhi]]
              title (str): Title to display on plot
              label_domains (bool): whether to label pourbaix domains
              plt (pyplot): Pyplot instance for plotting
  
          Returns:
              plt (pyplot) - matplotlib plot object with pourbaix diagram
          """
          if limits is None:
              limits = [[-2, 16], [-3, 3]]
  
          plt = plt or pretty_plot(16)
  
          xlim = limits[0]
          ylim = limits[1]
  
          h_line = np.transpose([[xlim[0], -xlim[0] * PREFAC],
                                 [xlim[1], -xlim[1] * PREFAC]])
          o_line = np.transpose([[xlim[0], -xlim[0] * PREFAC + 1.23],
                                 [xlim[1], -xlim[1] * PREFAC + 1.23]])
          neutral_line = np.transpose([[7, ylim[0]], [7, ylim[1]]])
          V0_line = np.transpose([[xlim[0], 0], [xlim[1], 0]])
  
          ax = plt.gca()
          ax.set_xlim(xlim)
          ax.set_ylim(ylim)
          lw = 3
          plt.plot(h_line[0], h_line[1], "r--", linewidth=lw)
          plt.plot(o_line[0], o_line[1], "r--", linewidth=lw)
          plt.plot(neutral_line[0], neutral_line[1], "k-.", linewidth=lw)
          plt.plot(V0_line[0], V0_line[1], "k-.", linewidth=lw)
  
          for entry, vertices in self._pd._stable_domain_vertices.items():
              center = np.average(vertices, axis=0)
              x, y = np.transpose(np.vstack([vertices, vertices[0]]))
              plt.plot(x, y, 'k-', linewidth=lw)
              if label_domains:
                  plt.annotate(generate_entry_label(entry), center, ha='center',
                               va='center', fontsize=20, color="b")
  
          plt.xlabel("pH")
          plt.ylabel("E (V)")
          plt.title(title, fontsize=20, fontweight='bold')
          return plt