code: def get_contour_pd_plot(self):
          
          from scipy import interpolate
          from matplotlib import cm
  
          pd = self._pd
          entries = pd.qhull_entries
          data = np.array(pd.qhull_data)
  
          plt = self._get_2d_plot()
          data[:, 0:2] = triangular_coord(data[:, 0:2]).transpose()
          for i, e in enumerate(entries):
              data[i, 2] = self._pd.get_e_above_hull(e)
  
          gridsize = 0.005
          xnew = np.arange(0, 1., gridsize)
          ynew = np.arange(0, 1, gridsize)
  
          f = interpolate.LinearNDInterpolator(data[:, 0:2], data[:, 2])
          znew = np.zeros((len(ynew), len(xnew)))
          for (i, xval) in enumerate(xnew):
              for (j, yval) in enumerate(ynew):
                  znew[j, i] = f(xval, yval)
  
          plt.contourf(xnew, ynew, znew, 1000, cmap=cm.autumn_r)
  
          plt.colorbar()
          return plt
docs: Plot a contour phase diagram plot, where phase triangles are colored
          according to degree of instability by interpolation. Currently only
          works for 3-component phase diagrams.
  
          Returns:
              A matplotlib plot object.