我正在尝试更改指数字符串格式的输出。我已经为某些数据拟合了一条曲线,并希望将其写入绘图中。问题是,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看起来不太适合发布,这就是为什么我想更改电子格式化程序的输出,所以它给\ cdot 10 ^ {- 7}(对于LaTeX为\ cdot {})。
谢谢
答案 0 :(得分:0)
我建议您编写一个临时函数来格式化所需输出中的数字,如下所示:
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
答案 1 :(得分:0)
所有需要以LaTex格式设置的格式,都必须用$
符号包裹:
label='$f(t)$ = $x$ $\cdot$10$^-$$^7$'
符号^
使后面的char成为上标(x$^5$
将x赋予5的幂),而_
用于下标(x$_5$
将x带给您索引5)