常にナノ秒(1e-9)と呼ばれるデータをプロットしているmatplotlibの図があります。y軸に、数十ナノ秒のデータがある場合、つまり 44e-9の場合、軸の値は4.4と表示され、+ 1e-8がオフセットとして表示されます。とにかく、軸に+ 1e-9オフセットで44を表示するように強制する方法はありますか?
軸が+ 5.54478e4を示しているx軸についても同じです。オフセットは+55447(整数、小数なし-ここでは値は日数です)を示します。
私はこのようないくつかのことを試しました:
p = axes.plot(x,y)
p.ticklabel_format(style='plain')
x軸の場合、これは機能しませんが、おそらく間違って使用している、またはドキュメントの解釈を誤っていると思いますが、誰かが私を正しい方向に向けることはできますか?
ありがとう、ジョナサン
フォーマッタで何かを試みましたが、まだ解決策が見つかりません...:
myyfmt = ScalarFormatter(useOffset=True)
myyfmt._set_offset(1e9)
axes.get_yaxis().set_major_formatter(myyfmt)
そして
myxfmt = ScalarFormatter(useOffset=True)
myxfmt.set_portlimits((-9,5))
axes.get_xaxis().set_major_formatter(myxfmt)
余談ですが、「オフセット番号」オブジェクトが実際にどこにあるのか私は実際に混乱しています...それはメジャー/マイナーティックの一部ですか?
rcParams
デフォルトでオフになっている場合はオフにすることを検討してください。rcParams["axes.formatter.useoffset"] = False
ここでは、stackoverflow.com
set_units
か?matplotlib.sourceforge.net/api/…(ここにはmatplotlibがないため、試すことができません。)