Matplotlibのimshow()プロットでカラーバーにラベルを付ける方法
Matplotlib の imshow() を使ったプロットでは、データの値に応じた色が表示されますが、そのカラーバー(colorbar)に何を表しているのか分かるラベルを付けると、グラフがより読みやすくなります。
ここでは、imshow() プロットのカラーバーにラベルを追加する具体的な手順とコード例を紹介します。
手順
図のサイズを設定し、サブプロット間および周囲のパディング(余白)を調整します。
NumPy を使用して、5×5 のランダムなデータポイントを作成します。
imshow() メソッドを使って、データを画像として(2次元の正規ラスター上に)表示します。
ScalarMappable インスタンス(im)に対して colorbar() メソッドでカラーバーを作成します。
set_label() メソッドを使って、カラーバーにラベルを設定します。
図を表示するには、show() メソッドを使用します。
コード例
import numpy as np
from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
data = np.random.rand(5, 5)
im = plt.imshow(data, cmap="copper")
cbar = plt.colorbar(im)
cbar.set_label("Colorbar")
plt.show()出力結果
このコードを実行すると、copper カラーマップで描画された 5×5 のヒートマップが表示され、右側のカラーバーに「Colorbar」というラベルが縦方向に表示されます。
ポイント解説
plt.colorbar(im) は、imshow() の戻り値である ScalarMappable オブジェクトを受け取り、それに対応するカラーバーを生成します。生成されたカラーバーオブジェクト(cbar)の set_label() を呼び出すことで、任意の文字列をラベルとして追加できます。ラベルには数値の単位や測定項目名などを指定すると、グラフの可読性がさらに向上します。
-
Matplotlibで目盛りラベルをすべて表示する方法
Matplotlibでグラフ上のすべてのラベル値を表示したい場合は、set_xticklabels() メソッドと set_yticklabels() メソッドを使用します。この記事では、具体的な手順とコード例を使って、その方法をわかりやすく解説します。実装の手順軸の目盛りとして使用できる数値のリスト(x)を作成します。subplot() 関数を使用して軸オブジェクトを取得します。subplot() は現在の図にサブプロットを追加するための便利な関数です。set_xticks メソッドと set_yticks メソッドを使い、手順1で作成したリスト x を指定して、それぞれX軸とY軸の目盛り位
-
Pythonで時系列データをプロットする方法をわかりやすく解説
Pythonのmatplotlibを使えば、時系列データ(日時を軸にしたデータ)を簡単にグラフ化できます。ここでは、datetimeオブジェクトを含むデータを折れ線グラフとして描画する基本的な手順を紹介します。 時系列プロットの基本手順 numpyを使用して、x軸(日時データ)とy軸(数値データ)を作成します。 plot()メソッドを使って、作成したx・yのデータをプロットします。 show()メソッドを実行して、図を画面に表示します。 コード例 以下のサンプルコードでは、2021年1月1日の0時から23時までの24個の日時データを生成し、それに対応するランダムな数値をy軸としてプロットし