セクション 1. 章 20
single
ヒートマップ
メニューを表示するにはスワイプしてください
定義
ヒートマップは、各値の大きさを色で表現することで、二次元データを可視化する手法。
この例では、変数間のペアワイズ相関をヒートマップで可視化。
シンプルなヒートマップの作成
seaborn.heatmap() は2次元データセットを受け取る。一般的な用途は相関行列のプロットであり、DataFrame に対して .corr() を呼び出して相関を計算し、その結果の行列を heatmap() に渡す。
1234567891011import seaborn as sns import matplotlib.pyplot as plt import pandas as pd url = 'https://content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/countries_data.csv' countries_df = pd.read_csv(url, index_col=0) correlation_matrix = countries_df.corr(numeric_only=True) sns.heatmap(correlation_matrix) plt.show()
相関行列は数値列のみから作成される(numeric_only=True)。
注釈と色
annot=True を設定すると、各セル内に相関値が表示されます。また、cmap を使ってカラーマップを選択できます。
ノート
ヒートマップの色は、cmap パラメータを設定することで変更可能です(詳細は 「Choosing color palettes」 記事を参照)。
1234567891011import seaborn as sns import matplotlib.pyplot as plt import pandas as pd url = 'https://content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/countries_data.csv' countries_df = pd.read_csv(url, index_col=0) correlation_matrix = countries_df.corr(numeric_only=True) sns.heatmap(correlation_matrix, annot=True, cmap='viridis') plt.show()
右側のカラーバーは、cbar=Falseを設定することで非表示にできます。
さらに学ぶ
ほとんどの場合、ヒートマップのカスタマイズで必要なのはこれだけですが、さらに詳しく知りたい場合は、 heatmap() documentationで確認できます。
可読性の向上
ヒートマップの可読性を高める最後のポイントは、すでにおなじみのxticks()やyticks()関数を使って目盛りを回転させることです:
1234567891011121314import seaborn as sns import matplotlib.pyplot as plt import pandas as pd url = 'https://content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/countries_data.csv' countries_df = pd.read_csv(url, index_col=0) correlation_matrix = countries_df.corr(numeric_only=True) sns.heatmap(correlation_matrix, annot=True, cmap='viridis') plt.xticks(rotation=20) plt.yticks(rotation=20) plt.show()
タスク
スワイプしてコーディングを開始
- 相関行列を作成するために正しいメソッドを使用。
- メソッドの引数で数値変数のみを含めるように設定。
- ヒートマップを作成するために正しい関数を使用。
- ヒートマップのデータとして
correlation_matrixを最初の引数で指定。 - 行列の各セルに値を表示するため、2番目の引数で指定。
- ヒートマップのカラーパレット(カラーマップ)を
'crest'に設定するため、3番目(最も右)の引数で指定。 xticks()およびyticks()のキーワード引数で、x軸とy軸の目盛りを反時計回りに15度回転させるように設定。
解答
すべて明確でしたか?
フィードバックありがとうございます!
セクション 1. 章 20
single
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください