始める無料で始める

発散型パレットのヒートマップをカスタマイズする

Seaborn の heatmap() で使われるデフォルトの配色は、値 0 を特別扱いしません。可視化している変数にとって 0 が特別でない場合は問題ありませんが、0 が中立値を表すなど特別な意味を持つ場合は、パレットをカスタマイズする必要があります。

この可視化では、2015 年 11 月の CO の平均汚染値に対して、すべての都市を比較したいとします(DataFrame nov_2015_CO に用意されています)。

そのために、各都市の CO 汚染が日ごとの平均から標準偏差でどれだけ離れているかをヒートマップで表現します。デフォルトのパレットを置き換えるために、独自の発散型パレットを作成してヒートマップに渡し、中立値が何かを関数に伝える必要があります。

この演習はコースの一部です

Pythonでデータ可視化を磨く

コースを見る

演習の手順

  • 発散型パレットをプロットに渡します。

    • なお、Seaborn の sns.heatmap() 関数には palette 引数はありません。代わりに cmap 引数を使用します。
  • center 引数を指定して、ヒートマップに中立値を追加します。

  • 凡例を対称にするため、カラーバーの上下限をそれぞれ -44 に設定します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# 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()
コードを編集して実行