「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > 大きな数値に対する Matplotlib の目盛りラベルの相対的なシフトを排除するにはどうすればよいですか?

大きな数値に対する Matplotlib の目盛りラベルの相対的なシフトを排除するにはどうすればよいですか?

2024 年 11 月 7 日に公開
ブラウズ:418

How to Eliminate Relative Shift in Matplotlib\'s Tick Labels for Large Numbers?

Matplotlib 軸の相対シフトの削除

Matplotlib で大きな数値に対してプロットすると、軸に目盛りラベルの相対シフトが生じる可能性があります。説明のために、次のプロットを考えてみましょう:

plot([1000, 1001, 1002], [1, 2, 3])

これにより、次のように横軸にティックが生成されます:

0.0     0.5     1.0     1.5     2.0
 1e3

「1e3」ラベルを削除し、「1000.0」、「1001.0」などの形式の目盛ラベルを取得するには、次の手順に従います。

  1. 次を使用して現在の軸を取得します。 gca().
  2. get_xaxis() を使用して x 軸の axis オブジェクトを取得します。
  3. get_major_formatter() を使用してメジャー フォーマッタ オブジェクトを取得します。
  4. set_useOffset(False) を使用してフォーマッタを False に設定します。
  5. draw() を呼び出してプロットを更新します。

あるいは、新しいバージョンの Matplotlib (1.4 ) では、デフォルトの動作を変更できます。 axes.formatter.useoffset rcparam:

matplotlib.rcParams['axes.formatter.useoffset'] = False

これらのメソッドを適用することで、軸の相対的なシフトを削除し、目的の形式で目盛ラベルを取得します。

リリースステートメント この記事は次の場所に転載されています: 1729722110 権利侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3