docs: def plot(self):
          """
          Plots reaction energy as a function of mixing ratio x in
          self.c1 - self.c2 tie line using pylab.
  
          Returns:
              Pylab object that plots reaction energy as a function of
              mixing ratio x.
          """
          plt.rcParams['xtick.major.pad'] = '6'
          plt.rcParams['ytick.major.pad'] = '6'
          plt.rcParams['axes.linewidth'] = 2
          npoint = 1000
          xs = np.linspace(0, 1, npoint)
  
          # Converts sampling points in self.c1 - self.c2 tie line to those in
          # self.comp1 - self.comp2 tie line.
          xs_reverse_converted = InterfacialReactivity._reverse_convert(
              xs, self.factor1, self.factor2)
          energies = [self._get_energy(x) for x in xs_reverse_converted]
          plt.plot(xs, energies, 'k-')
  
          # Marks kinks and minimum energy point.
          kinks = self.get_kinks()
          _, x_kink, energy_kink, _, _ = zip(*kinks)
          plt.scatter(x_kink, energy_kink, marker='o', c='blue', s=20)
          plt.scatter(self.minimum()[0], self.minimum()[1], marker='*',
                      c='red', s=300)
  
          # Labels kinks with indices. Labels are made draggable
          # in case of overlapping.
          for index, x, energy, _, _ in kinks:
              plt.annotate(
                  index,
                  xy=(x, energy), xytext=(5, 30),
                  textcoords='offset points', ha='right', va='bottom',
                  arrowprops=dict(arrowstyle='->',
                                  connectionstyle='arc3,rad=0')).draggable()
          plt.xlim([-0.05, 1.05])
          if self.norm:
              plt.ylabel('Energy (eV/atom)')
          else:
              plt.ylabel('Energy (eV/f.u.)')
          plt.xlabel('$x$ in $x$ {} + $(1-x)$ {}'.format(
              self.c1.reduced_formula, self.c2.reduced_formula))
          return plt