在 python 中上标字符串

Superscripting a string in python

您好,我正在尝试为情节上标字符串。

hallo= str(round(popt[1],1))
plt.plot(xFit, func(xFit,*popt),color='r', linestyle='--',label=f'Ideales DOE 125 \u03bcJ <= 0,3 \u03bcm F(x) = {round(popt[0],1)} * e$^{hallo}*x$ ')

我得到的结果是:

“-0,2*x”应该是上标的。我究竟做错了什么?谢谢!

它正在使 - 成为上标。要将整个表达式放在那里,您需要将整个表达式括在花括号中。因为你在 f-string 中有这个,其中花括号有意义,这意味着你需要这些相当笨拙的 triple-braces

plt.plot(xFit, func(xFit,*popt),color='r', linestyle='--',label=f'Ideales DOE 125 \u03bcJ <= 0,3 \u03bcm F(x) = {round(popt[0],1)} * e$^{{{hallo}}}*x$ ')

我认为您需要用 $$ 将整个表达式括起来,不能以 e$^10$ 开头,而是 $e^10$

hallo = str(round(popt[1],1))
label = (f'Ideales DOE 125 \u03bcJ <= 0,3 \u03bcm '
         f'F(x) = {round(popt[0],1)} * $e^{hallo}*x$ ')
plt.plot(xFit, func(xFit,*popt),color='r', linestyle='--',label=label)