在Matplotlib规模上禁用科学计数法

时间:2019-04-07 07:20:05

标签: python matplotlib scale

我正在尝试制作一个在y尺度上具有非科学符号的图。我的代码如下:

fig = mpl.figure(figsize=(10, 6))
ax = fig.add_subplot(111)
ax.semilogy(x,(y-0.9*best_vals[0]),'--',color = 'gray', lw = 1,fillstyle = 'none', label = 'experiment')
ax.semilogy(x[start:],(y_fit-0.9*best_vals[0]),'r-', label = '4-exponential fit')

ax.set_xlim(0,5000)
ax.set_ylim(1e2,1e6)
ax.yaxis.set_major_formatter(ScalarFormatter())

如果将y刻度的上限设置为1e5,则在y分别为100、1000、10000、100000的情况下看起来很好。但是当我尝试将其设为1e6时,y表示法将科学极限的上限设为0.1e7。有没有机会将其强制为1000000,而不是0.1e7?预先谢谢你。

1 个答案:

答案 0 :(得分:1)

您可以通过以下方式禁用科学计数法

ax.get_yaxis().get_major_formatter().set_scientific(False)