Python
 Computer >> コンピューター >  >> プログラミング >> Python

Matplotlibの軸から相対シフト(オフセット表示)を削除する方法

Matplotlibでは、大きな数値をプロットした際に、軸ラベルが「1e3」のような相対シフト(オフセット表記)で自動的に表示されることがあります。このオフセット表示を削除して、実際の数値をそのまま表示したい場合は、以下の手順に従ってください。

手順

  • 2つの入力リストを使用して折れ線グラフを描画します。
  • gca() メソッドで現在の軸(Axes)を取得し、X軸のインスタンスを返します。続いて get_major_formatter() で主目盛りのフォーマッターを取得し、set_useOffset(False) メソッドを呼び出すことで相対シフトを無効にします。
  • 図を表示するには、show() メソッドを使用します。

コード例

from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True
plt.plot([10, 101, 1001], [1, 2, 3])
plt.gca().get_xaxis().get_major_formatter().set_useOffset(False)
plt.show()

実行結果

Matplotlibの軸から相対シフト(オフセット表示)を削除する方法

上記のコードを実行すると、X軸の目盛りに「1e3」といったオフセット表記が付かず、10、101、1001といった実際の値がそのまま表示されます。

なお、Y軸にも同様の設定を行いたい場合は、plt.gca().get_yaxis().get_major_formatter().set_useOffset(False) を追加してください。

  1. Matplotlibのカラーマップで特定の値の色を再定義する方法

    Matplotlibのカラーマップにおいて、特定の値に対応する色を再定義したい場合は、以下の手順で実現できます。 get_cmap() メソッドを使用してカラーマップのインスタンスを取得します。引数 name が None の場合、rcParams のデフォルト設定値が使用されます。ここでは「gray」カラーマップを指定しています。 set_under() メソッドを使用して、norm.clip = False の場合に正規化範囲より下側(低い値)として扱われるデータに割り当てる色を設定します。これにより、閾値未満の値を任意の色で強調表示できます。 imshow() メソッドを使用して、デー

  2. 【Python】Matplotlibで軸の目盛りを円周率(π)の倍数で表示する方法

    PythonのMatplotlibでグラフを描く際、軸の目盛りをπ(円周率)の倍数で表示したいケースはよくあります。特に三角関数のグラフでは、「−π/2」「π」「3π/2」のような目盛りラベルにすることで、グラフが格段に読みやすくなります。 ここでは、numpyとMatplotlibを使って、X軸の目盛りをπの倍数として設定する手順を解説します。 設定手順 pi変数を初期化し、numpyを使ってthetaおよびyのデータ点を作成します。 plot()メソッドでthetaとyをプロットします。 xticks()メソッドで、X軸の目盛りの位置とラベルを取得・設定します。 margins()メソッ