So here is a curve often used in textbooks to illustrate a reaction coordinate.

enter image description here

It's a nice short-hand device to learn the relationship between kinetic and thermodynamic parameters that control the progression and equilibrium of chemical reactions.

I was thinking whether there is an analytical expression for that curve, one that I could use to draw several curves like that (using, say, Desmos) for distinct values of free energy contents of reactants and products and activation energies.

  • $\begingroup$ You know they are just some "pretty lines"? OK, there might be somewhere a case where curvature there is meaningful, but probably not in any textbook. $\endgroup$
    – Mithoron
    Feb 10, 2023 at 19:28
  • $\begingroup$ @Mithoron, yes I know. But I was looking for a way to systematically draw the pretty lines. Perhaps in a way that could be a tad more useful in an educational setting. $\endgroup$
    – urquiza
    Feb 10, 2023 at 19:32
  • $\begingroup$ As nice as such a reaction coordinate looks like, it only is a projection (hence, a simplification) of a potential surface. Only with two degrees of freedom one can draw the later like a map. $\endgroup$
    – Buttonwood
    Feb 10, 2023 at 20:11
  • $\begingroup$ See Wikipedia article on reaction coordinates, "en.wikipedia.org/wiki/Reaction_coordinate" $\endgroup$
    – AChem
    Feb 10, 2023 at 20:13
  • 3
    $\begingroup$ As has already been pointed out, the exact shape of these curves is usually meaningless. In practice you should calculate it (by calculating the energy $E$ as a function of some reaction coordinate $r$, which represents how a combination of bond lengths/angles changes over the course of a reaction), and then you can plot $E(r)$ versus $r$. But, If you just want the shape in this picture, I think you can define the energies $E(r)$ at the three points, and using that $\mathrm{d}E/\mathrm{d}r = 0$ at these points, fit it to a polynomial curve. $\endgroup$ Feb 10, 2023 at 20:45

2 Answers 2


Here is a function that works: https://www.desmos.com/calculator/cqwgfj2nzt

The general function would be

$$ a \left( \frac{b}{1 - e^{5-x}} - \frac{c}{1 - e^{10-x}} \right)$$

I'm sure you could rearrange this such that the three parameters directly correspond to initial, activation and final energy, but as this is conceptual only anyway, I did not.

Here is an example graph (smoother than the one posted by the OP):

enter image description here

And here is a Desmos file with sliders.

  • 1
    $\begingroup$ Well now that's just showing off. I thought a quartic would do the job! :) $\endgroup$ Feb 11, 2023 at 0:12
  • 3
    $\begingroup$ The classic would be a Bézier spline. $\endgroup$
    – Karsten
    Feb 11, 2023 at 1:17

You can simply use matplotlib to plot a smooth line connecting points

import numpy as np
import matplotlib.pyplot as plt
from scipy.interpolate import interp1d

x = np.array([0.1, 0.3, 0.5, 0.7, 0.9])
y = np.array([0.57, 0.85, 0.66, 0.84, 0.59])

x_new = np.linspace(x.min(), x.max(), 500)

f = interp1d(x, y, kind="quadratic")
y_smooth = f(x_new)

plt.plot(x_new, y_smooth)
plt.scatter(x, y)

enter image description here

  • $\begingroup$ No so simple - maxima aren't in the right points. $\endgroup$
    – Mithoron
    Feb 11, 2023 at 19:39
  • $\begingroup$ @Mithoron Well, this is just an example that the OP can adjust later. If one wants the right maxima shown on the line, then just return the coordinate of the maxima from the interpolation and add text manually. $\endgroup$ Feb 11, 2023 at 22:06
  • $\begingroup$ And by this way, we don't need to know any mathematical function. $\endgroup$ Feb 11, 2023 at 22:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.