▶ matplotlibによる可視化を基本から解説しています。以下の投稿も合わせてご覧ください。
はじめに
今回はHeatmapの描画について基本から解説します。Heatmapは表の各値の大きさによって色分けして描画したものです。視覚的に値の大小や傾向を把握することができます。相関表や混同行列、ピボットテーブルでの集計結果などをヒートマップで表示すると、解釈しやすくなります。
ヒートマップ図の描画
まずはデータの準備をしましょう。今回もseabornにあらかじめ準備されている学習用データセットの「taxis」を使うことにしましょう。
# ライブラリのインポート
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
# データの読み込み
df = sns.load_dataset('taxis')
df.head()
書式
seabornでheatmapを描く際の書式は以下となります。
dataの部分に相関表や混同行列、ピボットテーブルなどを入れます。今回はまず相関表を作って描画してみることにしましょう。
ヒートマップ図の描画
相関表はdf.corr()で作ることができるのでした。これをsns.heatmap()で指定するだけですね。
# 相関表のヒートマップ図
sns.heatmap(df.corr())
簡単に描画することができました。でも、視覚的に捉えられるとはいえ、値があったほうがわかりやすいですね。そんなときには、annot=Trueとすることで表示できます。
# 相関表のヒートマップ図:値を表示
sns.heatmap(df.corr(),annot=True)
ヒートマップのカラーマップを変えることもできます。cmapで指定します。やってみましょう。
# 相関表のヒートマップ図:値を表示、cmapを指定
sns.heatmap(df.corr(),annot=True,cmap='coolwarm')
これで相関の大小が一発でわかりますね。色と値で瞬時に判断することができます。次にピボットテーブルをヒートマップにする場合も見ておきましょう。まずはピボットテーブルで集計しましょう。
# ピボットテーブルで集計
df_pivot = pd.pivot_table(values='tip', index='pickup_borough', columns='dropoff_borough' ,data=df)
df_pivot = df_pivot.fillna(0)
df_pivot
このような表になっていれば、ヒートマップは簡単ですね。sns.heatmap()で指定するだけですね。
# ピボットテーブルをヒートマップで表示
sns.heatmap(df_pivot,annot=True,cmap='coolwarm')
まとめ
今回はヒートマップの描画方法を扱いました。sns.heatmap(data)でdataの部分に表形式のデータを指定するだけですね。ヒートマップに数字も表示しておいた方がわかりやすいです。annot=Trueで指定するのでしたね。その他、カラーマップの指定などいろいろ試してみてください。
コメント