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