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

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() を呼び出すことで、任意の文字列をラベルとして追加できます。ラベルには数値の単位や測定項目名などを指定すると、グラフの可読性がさらに向上します。

  1. Matplotlibで目盛りラベルをすべて表示する方法

    Matplotlibでグラフ上のすべてのラベル値を表示したい場合は、set_xticklabels() メソッドと set_yticklabels() メソッドを使用します。この記事では、具体的な手順とコード例を使って、その方法をわかりやすく解説します。実装の手順軸の目盛りとして使用できる数値のリスト(x)を作成します。subplot() 関数を使用して軸オブジェクトを取得します。subplot() は現在の図にサブプロットを追加するための便利な関数です。set_xticks メソッドと set_yticks メソッドを使い、手順1で作成したリスト x を指定して、それぞれX軸とY軸の目盛り位

  2. Pythonで時系列データをプロットする方法をわかりやすく解説

    Pythonのmatplotlibを使えば、時系列データ(日時を軸にしたデータ)を簡単にグラフ化できます。ここでは、datetimeオブジェクトを含むデータを折れ線グラフとして描画する基本的な手順を紹介します。 時系列プロットの基本手順 numpyを使用して、x軸(日時データ)とy軸(数値データ)を作成します。 plot()メソッドを使って、作成したx・yのデータをプロットします。 show()メソッドを実行して、図を画面に表示します。 コード例 以下のサンプルコードでは、2021年1月1日の0時から23時までの24個の日時データを生成し、それに対応するランダムな数値をy軸としてプロットし