Matplotlib 2 次元配列のカラープロット

Suraj Joshi 2023年1月30日
  1. matplotlib.pyplot.imshow() メソッドを用いて 2 次元配列をプロットする
  2. matplotlib.pyplot.pcolormesh() メソッドを用いた Matplotlib での 2 次元配列のプロット
Matplotlib 2 次元配列のカラープロット

このチュートリアルでは、Python の matplotlib.pyplot.imshow() メソッドと matplotlib.pyplot.pcolormesh() メソッドを使って、2 次元配列のカラープロットを生成する方法を説明します。

matplotlib.pyplot.imshow() メソッドを用いて 2 次元配列をプロットする

メソッドは 2 次元配列を入力として受け取り、与えられた配列をラスタ画像として表示します。

matplotlib.pyplot.imshow() の構文

matplotlib.pyplot.imshow(X,
                         cmap=None,
                         norm=None,
                         aspect=None,
                         interpolation=None,
                         alpha=None,
                         vmin=None,
                         vmax=None,
                         origin=None,
                         extent=None, *,
                         filternorm=True,
                         filterrad=4.0,
                         resample=None,
                         url=None,
                         data=None,
                         **kwargs)

matplotlib.pyplot.imshow()

import numpy as np
import matplotlib.pyplot as plt

X = np.random.randint(256, size=(10, 10))

fig = plt.figure(figsize=(8, 6))
plt.imshow(X)
plt.title("Plot 2D array")
plt.show()

出力:

imshow を用いた 2 次元配列のプロット Matplotlib

サイズ 10*10numpy.random.randint() を用いて作成した 2 次元配列をプロットします。デフォルトでは、viridiscolormap を用いて値をマッピングします。

imshow() メソッドで cmap パラメータを設定することで、カラーマップを変更することができます。

import numpy as np
import matplotlib.pyplot as plt

X = np.random.randint(256, size=(10, 10))

fig = plt.figure(figsize=(8, 6))
plt.imshow(X, cmap="inferno")
plt.title("Plot 2D array")
plt.colorbar()
plt.show()

出力:

cmap を設定する imshow を用いて 2 次元配列をプロットする Matplotlib

これは inferno のカラーマップを用いた 2 次元配列のプロットを表示します。また、プロットの右側にはカラーバーが表示され、配列のどの値がどの色にマップされているかを知ることができます。

matplotlib.pyplot.pcolormesh() メソッドを用いた Matplotlib での 2 次元配列のプロット

関数 matplotlib.pyplot.pcolormesh() は、Matplotlib で擬似カラープロットを作成します。これは matplotlib.pyplot.pcolor() 関数に似ています。

import numpy as np
import matplotlib.pyplot as plt

X = np.random.randint(256, size=(10, 10))

fig = plt.figure(figsize=(8, 6))
plt.pcolormesh(X, cmap="plasma")
plt.title("Plot 2D array")
plt.colorbar()
plt.show()

出力:

pcolormesh を用いた 2 次元配列のプロット Matplotlib

サイズ 10*10numpy.random.randint() を用いて作成した 2 次元配列を plasma の colormap でプロットします。右側のカラーバーは、異なる値の範囲に割り当てられた色を表しています。

著者: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn