Pynote

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

seaborn - ヒートマップを描画する方法について

基本的な使い方

import numpy as np
import seaborn as sns
sns.set()

data = np.random.rand(8, 9)
sns.heatmap(data)


各セルに数値を表示する。

annot=True で各セルに数値を表示する。

sns.heatmap(data, annot=True)

fmt 引数で書式を設定できる。

# 小数点以下1桁で表示する。
sns.heatmap(data, annot=True, fmt='.1f')


カラーバー

vmin, vmax 引数でカラーバーの範囲を設定できる。

# カラーバーの範囲を [0, 1] にする。
sns.heatmap(data, annot=True, vmin=0, vmax=1)

center 引数でカラーバーの中心を設定できる。

data = np.random.randn(8, 9)
sns.heatmap(data, center=0)

robust=True でカラーバーの範囲を第1分位点から第3分位点までに設定する。

data = np.random.randn(8, 9)
sns.heatmap(data, annot=True, robust=True)

cbar=False でカラーバーを非表示に設定する。

sns.heatmap(data, cbar=False)


カラーマップ

cmap 引数でカラーマップを設定できる。

sns.heatmap(data, annot=True, cmap='PiYG')


枠線

linecolor 引数で枠線の色、linewidths 引数で枠線の幅を設定できる。

sns.heatmap(data, annot=True, linecolor='pink', linewidths=1)


各セルを正方形にする。

sns.heatmap(data, square=True)