ホームページ  >  記事  >  バックエンド開発  >  大きな数値に対する Matplotlib の目盛りラベルの相対的なシフトを排除するにはどうすればよいですか?

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

Susan Sarandon
Susan Sarandonオリジナル
2024-10-24 06:58:30839ブラウズ

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 軸軸オブジェクトを取得します。 .
  3. get_major_formatter() を使用してメジャー フォーマッタ オブジェクトを取得します。
  4. set_useOffset(False) を使用してフォーマッタの useOffset 属性を False に設定します。
  5. draw() を呼び出して更新します

あるいは、新しいバージョンの Matplotlib (1.4 ) では、axes.formatter.useoffset rcparam:

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

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

以上が大きな数値に対する Matplotlib の目盛りラベルの相対的なシフトを排除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。