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

[ 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)
于 2013-05-27T19:17:08.333 に答える