Matplotlibのplt.colorbarでカラーバーの目盛り(ティック)数を設定する方法
Matplotlibでカラーバーの目盛り(ティック)の数や位置を設定するには、set_ticks()メソッドとset_ticklabels()メソッドを使用します。以下の手順で簡単に実装できます。
手順
- NumPyを使ってランダムなデータを作成する
- imshow()メソッドでデータを画像として表示する(2次元の正規ラスタ上に描画)
- スカラーマッピング可能なオブジェクト(ScalarMappable)を引数に指定して、colorbar()メソッドでカラーバーを作成する
- set_ticks()とset_ticklabels()メソッドで、カラーバーの目盛りの位置とラベルを設定する
- show()メソッドで図を表示する
コード例
import numpy as np from matplotlib import pyplot as plt plt.rcParams["figure.figsize"] = [7.00, 3.50] plt.rcParams["figure.autolayout"] = True data = np.random.rand(4, 4) im = plt.imshow(data, cmap="copper") cbar = plt.colorbar(im) cbar.set_ticks([0.2, 0.4, 0.6, 0.8]) cbar.set_ticklabels(["A", "B", "C", "D"]) plt.show()
出力結果

コードの解説
この例では、まず4×4のランダムなデータを生成し、"copper"カラーマップを使って画像として表示しています。次にcolorbar()でカラーバーを作成した後、set_ticks()によって目盛りを0.2・0.4・0.6・0.8の4箇所に配置しています。さらにset_ticklabels()を使うことで、各目盛りに「A」「B」「C」「D」という任意の文字列ラベルを割り当てています。このように、目盛りの位置とラベルは自由にカスタマイズできます。
補足:目盛りの「数」だけを指定したい場合
具体的な値ではなく、目盛りの個数だけを指定したい場合は、ticker.MaxNLocatorを利用すると便利です。
from matplotlib import ticker cbar.locator = ticker.MaxNLocator(nbins=5) cbar.update_ticks()
このように設定すると、カラーバーにおよそ5個の目盛りが自動的に均等配置されます。値を手動で指定するset_ticks()と使い分けることで、柔軟にカラーバーを調整できます。
-
【Python】MatplotlibでX軸の値(目盛りラベル)を設定する方法
Python の Matplotlib でグラフの X 軸の値(目盛りラベル)を自由に設定したい場合は、plt.xticks() メソッドを使うのが最も簡単です。以下の手順で実装できます。 X軸の値を設定する手順 x と y のデータポイントを格納する2つのリストを作成します。 range(len(x)) を使って、目盛りの基準となるインデックス(xticks の範囲)を取得します。 plot() メソッドで、インデックスのリストと y データを使って折れ線グラフを描画します。 xticks() メソッドを使い、デフォルトの目盛りを実際の X 軸の値に置き換えます。 show() メソッドで
-
【Python】Matplotlibで軸の目盛りを円周率(π)の倍数で表示する方法
PythonのMatplotlibでグラフを描く際、軸の目盛りをπ(円周率)の倍数で表示したいケースはよくあります。特に三角関数のグラフでは、「−π/2」「π」「3π/2」のような目盛りラベルにすることで、グラフが格段に読みやすくなります。 ここでは、numpyとMatplotlibを使って、X軸の目盛りをπの倍数として設定する手順を解説します。 設定手順 pi変数を初期化し、numpyを使ってthetaおよびyのデータ点を作成します。 plot()メソッドでthetaとyをプロットします。 xticks()メソッドで、X軸の目盛りの位置とラベルを取得・設定します。 margins()メソッ