今回は、seabornで基本的なheatmapを作成する方法からカスタマイズする方法までを紹介します。
heatmap(ヒートマップ)とは
ヒートマップとはデータを色や濃淡の変化で視覚的に表現するグラフです。
地図上で温度を表現する際に使用されることが多いです。
heatmapの描画方法
それではheatmap
を描画する方法を紹介していきます。
heatmap
を作成するにあたり、データの前処理が必要です。
flights
のデータセットを使用して、データの前処理を説明します。
flights
のデータセットは以下の通りです。
import seaborn as sns
flights = sns.load_dataset('flights')
flights.head()
index
をmonth
、column
をyear
を指定し、ピボットテーブルを作成します。
ピボットテーブルの作成方法は以下の通りです。
# データの前処理:ピボットテーブルの作成
flights_pivot = flights.pivot("month", "year", "passengers")
flights_pivot
これでデータの事前準備は完了です。
データの事前準備からheatmap
の描画までをまとめると以下です。
import seaborn as sns
# データセットをロード
flights = sns.load_dataset('flights')
# データの前処理:ピボットテーブルの作成
flights_pivot = flights.pivot("month", "year", "passengers")
# heatmapを描画
sns.heatmap(flights_pivot)
実行結果
色の濃淡で乗客数の変化を表現しています。
7月(Jul)、8月(Aug)に乗客数が増加していることが見て取れますね!
heatmapのカスタマイズ
heatmap
をカスタムする方法を紹介します。
cmap: カラーマップを指定
cmap
オプションでカラーマップの種類を変更できます。
カラーマップとは、数値データを色に変換するときの、ルールみたいなものです。
カラーマップについて詳しく知りたい方はこちら
heatmap
でカラーマップを指定する方法は以下の通りです。
sns.heatmap(flights_pivot, cmap="YlGnBu")
実行結果
YlGnBu
というカラーマップを使用しました。黄色(数値小)からはじまり緑、青(数値大)へと変化します。
7月(Jul)、8月(Aug)に乗客数が増加していることがわかりやすくなったと思います。
annot: セルに数値を表示
annot
オプションで、heatmap
上に数値の表示の有無を指定できます。
annot=True
とすると、heatmap
上に数値が表示されます。
デフォルトではFalse
が指定されています。
annot
オプションの使い方は以下の通りです。
sns.heatmap(flights_pivot, annot=True)
実行結果
数値は表示できましたが、数値が見えにくくなってしまいました。
そこで、数値を表示形式をfmtオプションで変更してみます。
sns.heatmap(flights_pivot, annot=True, fmt='d')
実行結果
cbar: カラーバーを非表示
cbar
オプションを使用してカラーバーを非表示にすることができます。
カラーバーを非表示にすることで、スペースの確保に役立ちます。
cbar=False
とすると、カラーバーを非表示にできます。
cbar
の使用方法は以下の通りです。
sns.heatmap(flights_pivot, cbar=False)
実行結果
まとめ
今回はheatmap
の描画方法から、heatmap
をカスタマイズする方法までを紹介しました。
heatmap
はデータを可視化する上で大変便利なツールです。
ぜひ自由自在に操れるようになってください!
ここまで読んでくださりありがとうございます。
参考
おすすめ教材
米国データサイエンティストがやさしく教えるデータサイエンスのためのPython講座 【世界で55万人が受講】データサイエンティストを目指すあなたへ〜データサイエンス25時間ブートキャンプ〜他のUdemyの講座が気になる方はこちら