Python 字符串格式指数输出



我正在尝试更改指数字符串格式的输出。我已经为一些数据拟合了一条曲线,并希望将这些曲线写入绘图中。问题是,x e-y 格式看起来不太好,是否有可能将其更改为 x * 10^-y?

以下是我正在使用的代码示例:

plt.plot(x, y, 'x', label = '$f(t) = {a:.0f} cdot x + {b:.2e}$'.format(a = para[0], b = para[1]) 

A 是大于 10000 的数字,这就是为什么不需要小数,但 B 大约是 10^-7。将其编写为浮点数对于前导 0 来说是浪费空间的,但 e^-7 看起来不适合发布,这就是为什么我想更改 e-formatter 的输出,所以它给了 \cdot 10^{-7}(LaTeX 的 \cdot {}(返回。

谢谢

我建议你编写一个临时函数来格式化你想要的输出中的数字,如下所示:

import numpy as np
def myformat(x):
myexp = np.floor(np.log10(x))
xout = x*10**(-myexp)
strout = "{:.2f} times 10^{}".format(xout, myexp)
return strout

所有需要以 LaTex 样式格式化的内容都必须用$符号包装:

label='$f(t)$ = $x$ $cdot$10$^-$$^7$'

符号^将后字符作为上标(x$^5$将给出 x 的 5 次方(,_用于下标(x$_5$会给你索引为 5 的 x(

最新更新