Pynote

Python、機械学習、画像処理について

matplotlib - pcolormesh で連続的に変化する色で配列を可視化する方法

以下に引っ越しました。

pystyle.info



疎行列の可視化 (spy)

基本的な使い方

import matplotlib.pyplot as plt
import numpy as np

mat = np.eye(20, 20)

fig, ax = plt.subplots(facecolor="w")
ax.spy(mat)

plt.show()


指定した値以下は0要素扱いする。

import matplotlib.pyplot as plt
import numpy as np

mat = np.random.randn(10, 10)

fig, ax = plt.subplots()
ax.spy(mat, precision=0.3)

plt.show()


座標系を設定する。

import matplotlib.pyplot as plt
import numpy as np

mat = np.eye(20, 20)

fig = plt.figure(figsize=(10, 5))

params = ["upper", "lower"]
for i, p in enumerate(params, 1):
    ax = fig.add_subplot(1, 2, i)
    ax.spy(mat, origin=p)
    # タイトルを設定する。
    s = f"'{p}'" if isinstance(p, str) else p
    ax.set_title("origin={}".format(s))

plt.show()


アスペクト比を設定する。

import matplotlib.pyplot as plt
import numpy as np

mat = np.eye(20, 20)

fig = plt.figure(figsize=(8, 8))
params = [0.5, 2, "auto", "equal"]
for i, p in enumerate(params, 1):
    ax = fig.add_subplot(2, 2, i)
    ax.spy(mat, aspect=p)
    # タイトルを設定する。
    s = f"'{p}'" if isinstance(p, str) else p
    ax.set_title("aspect={}".format(s))

plt.show()