MatplotlibをPythonで使用して、単純なxyデータセットをプロットします。これにより、見栄えの良いグラフが生成されます。 plt.show()
)を実行すると表示されます。x軸の値は、標準の数値形式(1050、1060、1070など)から指数表記の科学形式(たとえば、x- +1.057e3
)として指定された軸ラベル。
指数形式を使用するのではなく、軸の単純な番号付けを保持するフィギュアを好むでしょう。 Matplotlibにこれを強制する方法はありますか?
目盛りラベルのフォーマットはFormatter
オブジェクトによって制御されます。これは、何もしていなかったら、ScalerFormatter
- デフォルト になります。このフォーマッタは、表示される値のわずかな変化が非常に小さい場合、一定のシフトを使用します。これを回避するには、単にオフにします。
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)
axes.formatter.useoffset
rcparamを介してグローバルにこれを制御できます。
より簡単なコマンドを使用して、オフにすることができます。
plt.ticklabel_format(useOffset=False)
次のようなものを使用できます。
from matplotlib.ticker import ScalarFormatter, FormatStrFormatter
ax.xaxis.set_major_formatter(FormatStrFormatter('%.0f'))