Python: 如何在 matplotlib 中打印指数方程?

Python: how to print exponential equations in matplotlib?

我需要使用 plt.text() 在 matplotlib 上打印以下等式:

y=1.5*exp(-0.5x)-0.05

我用过这条线,但我的绘图没有在任何地方显示方程式:

a=1.5
b=-0.5
c=-0.05
plt.text(2, 2, '$y=%3.7sexp+%3.7sx+%3.7s$'%(a, b, c), fontsize=20)

您认为问题出在哪里?还是有另一种奇特的方式来写这个等式,也许使用我们在学校教授的指数方式?

经过一些测试,我发现这可以解决问题:

a=1.5
b=-0.5
c=-0.05
plt.text(60, 0.6, '$y=%3.7s*e^{%3.7sx}%3.7s$'%(a, b, c), fontsize=15)

正如@Andreas Hsieh 所指出的,前两个参数指的是我们在图中的 x 和 y 尺度,因此很容易弄清楚如何调用您想要的精确位置文本是。

rsquared=0.917568
plt.text(60, 0.5, '$R^{2}=%3.7s$'%(round(rsquared,3)), fontsize=15)

也可以非常有效地用于覆盖 R 平方值,就像回归中的 Microsoft Excel 或任何其他值(例如 p 值)一样。