pyplot以交互模式显示大数字

时间:2013-05-27 16:22:45

标签: matlab matplotlib interactive-mode

我正在尝试使用交互模式在x轴上绘制大数字,而不是刻度线上的完整数字,我得到1,1.5等等和+ 5.043e3。我怎样才能显示完整的数字?

在定义plt.ion()后,我在循环中有这个:

plt.xlabel("Wavelength (angstroms)")
plt.ylabel("Arbitrary Flux")
plt.plot(xo,yo,'k--')
    for e in range(multispec):
    if ( e == 0):
        plt.plot(MX[e],MY[e], 'r-')
    else:
    plt.plot(MX[e],MY[e])
l=float(int(n))
plt.axis([n-1, n+1, 0.1, 1.1])

n是for。中定义的其他变量。

1 个答案:

答案 0 :(得分:1)

[从How to prevent numbers being changed to exponential form in Python matplotlib figure复制]

刻度标签的格式由Formatter对象控制,假设您没有做任何花哨的事情将是ScalerFormatter [默认] [1]。如果可见值的分数变化非常小,则此格式化程序将使用常量移位。为避免这种情况,请将其关闭:

plt.plot(arange(0,100,10) + 1000, arange(0,100,10))
ax = plt.gca()
ax.get_xaxis().get_major_formatter().set_useOffset(False)
plt.draw()

如果你想避免一般的科学记数法,

ax.get_xaxis().get_major_formatter().set_scientific(False)