プログラミングの用語一覧へ
このページの目次

sns.heatmapとは?

読み方:sns.heatmap

最終更新:2026/08/18

3秒でわかる

seaborn で行列の数値を色の濃淡として描く関数。相関や件数の偏りを、数字を一つずつ読まずに一目で掴むために使います。

もう少し詳しく

どういうものか

sns.heatmap は、Python の可視化ライブラリ seaborn が持つ関数で、二次元の数値データを色の濃淡で塗り分けて描く。行と列の交点それぞれに値があり、その大小が色に対応する。相関行列、時間帯と曜日ごとの件数、欠損値の分布のように、縦横の組み合わせで値が決まるデータに向いている。

なぜ必要か

10 列のデータの相関行列は 100 個の数字になり、表のまま眺めても強い関係がどこにあるか分からない。色にすると、濃い区画として目に飛び込んでくる。数字を一つずつ比べる作業を、視覚の得意な処理へ置き換える点に意味がある。分析の初期段階で、どの変数に注目するかを決める用途で使われることが多い。

具体例

import seaborn as sns import matplotlib.pyplot as plt corr = df.corr(numeric_only=True) sns.heatmap( corr, annot=True, # 各マスに数値も書く fmt=".2f", # 小数第 2 位まで cmap="coolwarm", # 負を青、正を赤で塗る vmin=-1, vmax=1, # 色の基準を固定する ) plt.tight_layout() plt.show()

vminvmax を指定すると、データが変わっても色の意味がずれない。

つまずきやすいところ

vminvmax を省くと、その時のデータの最小値と最大値に色が割り当てられる。相関が 0.1 から 0.3 の範囲しか無くても真っ赤な区画が現れ、強い関係があるように見えてしまう。複数の図を並べて比べるときは特に効いてくる。

配色の選び方も結論を左右する。相関のように正と負に意味がある値は、中央を白にする coolwarm のような両方向の配色を使う。件数のように 0 が下限のデータで両方向の配色を使うと、中間の値が強調されて誤読される。

日本語のラベルが豆腐状に化ける場合は、japanize-matplotlib を取り込むか、フォントを明示する。

似た用語との違い

散布図は二つの変数の関係を点で見る図で、対象は 2 列になる。ヒートマップは列同士の組み合わせを一枚で見渡す図になる。全体の当たりを付けるのがヒートマップ、気になった組み合わせを詳しく見るのが散布図、という順で使う。

覚え方

ヒートマップは数表に色を塗った地図にあたる。地図として読む以上、色の基準を毎回変えては比べられない。vminvmax を固定して初めて、二枚の図を並べて話ができる。

知識のつながり

サイドバーと同じ推奨ルート・関連語を、まとめて確認できます。

現在地sns.heatmapプログラミング

LEARN BY DOING

この用語を、教材で使ってみる

直接関連する編と、その編を含むコースです。用語だけで終わらず、ブラウザ上で実際に手を動かせます。

データ分析コースの全編を見る