発散型パレットのヒートマップをカスタマイズする
Seaborn の heatmap() で使われるデフォルトの配色は、値 0 を特別扱いしません。可視化している変数にとって 0 が特別でない場合は問題ありませんが、0 が中立値を表すなど特別な意味を持つ場合は、パレットをカスタマイズする必要があります。
この可視化では、2015 年 11 月の CO の平均汚染値に対して、すべての都市を比較したいとします(DataFrame nov_2015_CO に用意されています)。
そのために、各都市の CO 汚染が日ごとの平均から標準偏差でどれだけ離れているかをヒートマップで表現します。デフォルトのパレットを置き換えるために、独自の発散型パレットを作成してヒートマップに渡し、中立値が何かを関数に伝える必要があります。
この演習はコースの一部です
Pythonでデータ可視化を磨く
演習の手順
発散型パレットをプロットに渡します。
- なお、Seaborn の
sns.heatmap()関数にはpalette引数はありません。代わりにcmap引数を使用します。
- なお、Seaborn の
center引数を指定して、ヒートマップに中立値を追加します。凡例を対称にするため、カラーバーの上下限をそれぞれ
-4と4に設定します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Define a custom palette
color_palette = sns.diverging_palette(250, 0, as_cmap = True)
# Pass palette to plot and set axis ranges
sns.heatmap(nov_2015_CO,
____ = ____,
____ = ____,
vmin = ____,
vmax = ____)
plt.yticks(rotation = 0)
plt.show()