1

我正在尝试使用交互模式在 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 中定义的其他变量。

4

1 回答 1

1

[复制自如何防止数字在 Python matplotlib 图中被更改为指数形式]

刻度标签的格式由一个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)
于 2013-05-27T19:17:08.333 回答