Featured image of post ヒートマップ(Heatmap)

ヒートマップ(Heatmap)

ヒートマップ(Heatmap)は、マトリクス(格子)状のセルに色の濃淡や色相の変化を用いてデータの大小やパターンを表現する可視化手法です。行と列の交差点にあたる各セルが一つの値を持ち、その値に応じた色が割り当てられることで、大量のデータの全体像や局所的な傾向を直感的に把握することができます。相関行列やWebサイトのクリック分析、地理的な密度表現、遺伝子発現解析など、幅広い分野で活用されています。

歴史的経緯

色を使ってデータの大小を表現するという概念自体は古くから存在しており、19世紀の統計地図にその原型を見ることができます。たとえば、1873年にToussaint Loua がパリの各地区の社会統計を色分けしたマトリクス形式の図表を作成しています。

「ヒートマップ(Heat Map)」という用語を初めて使用したのは、1991年にソフトウェアデザイナーのCormac Kinneyであるとされています。彼は金融市場のリアルタイムデータを二次元のカラーマトリクスとして表示するソフトウェアを開発し、これをヒートマップと名付けました。

その後、Webアナリティクスの分野でクリックヒートマップやスクロールヒートマップが普及し、生物学ではマイクロアレイデータの可視化に広く用いられるようになりました。今日では、データ分析やビジネスインテリジェンスのあらゆる場面で標準的な可視化手法の一つとして定着しています。

データ構造

ヒートマップに必要な基本的なデータ構造は、行ラベル・列ラベル・対応する数値の組み合わせです。

行ラベル列ラベル
月曜日9時45
月曜日10時72
月曜日11時88
火曜日9時50
火曜日10時65
火曜日11時91

行と列にはカテゴリ変数や時間変数を配置し、各セルの値が色に変換されます。値は連続的な数値(売上、温度、相関係数など)が一般的ですが、離散的な値にも対応できます。データは通常、行列(マトリクス)形式に整形された状態で可視化されます。

目的

ヒートマップの主な目的は、大規模なデータセットの中からパターン、クラスタ、外れ値を素早く発見することです。二次元の格子構造と色の変化を組み合わせることで、数値だけでは見落としやすい傾向や関係性を視覚的に浮かび上がらせます。

具体的には、以下のような分析目的に適しています。

  • 変数間の相関や共起パターンの把握
  • 時間帯や曜日ごとのアクティビティの比較
  • カテゴリの組み合わせごとの密度や集中度の確認
  • データの全体的な分布と局所的な異常値の検出

ユースケース

  • 相関行列の可視化:統計分析やデータサイエンスにおいて、多数の変数間の相関係数をヒートマップで表示し、強い正の相関や負の相関を視覚的に把握します。
  • Webアナリティクス(クリックヒートマップ):Webページ上のどこがよくクリックされているか、どこまでスクロールされているかを色の濃淡で可視化し、UI/UXの改善に役立てます。
  • 遺伝子発現解析:生物学・医学分野で、多数の遺伝子の発現レベルを条件ごとに比較し、遺伝子の発現パターンのクラスタリングに活用します。
  • 地理的な密度表現:犯罪発生率、人口密度、気温分布などを地図上にヒートマップとして重ねることで、空間的なパターンを把握します。
  • スポーツ分析:サッカーやバスケットボールなどで、選手の活動エリアをコート上にヒートマップとして表示し、戦術分析に用います。
  • スケジュール・時間帯分析:曜日と時間帯をマトリクスにし、アクセス数やメール送信数などの活動量を時間パターンとして把握します。

特徴

  • 大量データの概観に適している:数百から数千のセルを一度に表示でき、データの全体像を俯瞰できます。
  • パターンの発見が容易:色のグラデーションにより、クラスタや外れ値を直感的に認識できます。
  • コンパクトな表現:多くの情報を限られたスペースに凝縮して表示できます。
  • 柔軟な応用:テーブル型、地図型、ツリーマップ型など、さまざまな形態に応用可能です。
  • クラスタリングとの相性:行や列を類似度に基づいて並べ替えることで、データの構造がより明確になります。

チャートの見方

ヒートマップでは、がそれぞれ異なるカテゴリ(変数、時間帯、地域など)を表し、各セルの色がその交差点における値の大きさを表現しています。

色が濃い(あるいは暖色の)セルは値が大きく、色が薄い(あるいは寒色の)セルは値が小さいことを意味します。凡例(カラースケール)を参照して、色と具体的な値の対応関係を確認しましょう。

全体を眺めて色の濃い領域(ホットスポット)や薄い領域を探すことで、データの集中や偏りを見つけることができます。また、行方向・列方向に色のグラデーションが連続して変化しているか、急に変わっている箇所があるかに注目すると、パターンや異常値を発見しやすくなります。

デザイン上の注意点

  • カラースケールの選択:連続的なデータにはシーケンシャル(順次的)なカラースケール(例:白から濃い青へ)を用い、正負を含むデータにはダイバージング(発散的)なカラースケール(例:青-白-赤)を使用します。
  • 色覚多様性への配慮:赤-緑の組み合わせは色覚特性によって識別しづらい場合があるため、青-オレンジや紫-緑など、より多くの人が区別しやすい配色を検討します。
  • 行列の並べ替え:行や列をアルファベット順のまま配置するだけでなく、クラスタリングや類似度に基づいて並べ替えると、パターンが見えやすくなります。
  • セルサイズとアスペクト比:セルが極端に小さいと色の判別が難しくなるため、データ量に応じて適切なサイズを確保します。
  • 凡例の明示:カラースケールと値の対応を示す凡例を必ず表示し、読み手が色を正確に解釈できるようにします。
  • 値の表示:セル数が多くない場合は、セル内に数値を直接表示することで正確な読み取りを補助できます。
  • 欠損値の扱い:データに欠損がある場合は、白やグレーなどの目立つ色で明示し、「データなし」であることを伝えます。

応用例

種類特徴
クラスタリングヒートマップ (Clustered Heatmap)行や列を階層的クラスタリングにより並べ替え、デンドログラムと組み合わせて表示する。生物情報学でよく用いられる。
クリックヒートマップ (Click Heatmap)Webページ上のクリック位置をオーバーレイ表示し、ユーザーの行動パターンを把握する。
カレンダーヒートマップ (Calendar Heatmap)年間のデータをカレンダー形式で色分け表示する。GitHubのコントリビューショングラフが代表例。
地理ヒートマップ (Geographic Heatmap)地図上にデータの密度や強度を色の濃淡で重ねて表示する。
相関行列ヒートマップ (Correlation Matrix Heatmap)変数間のピアソン相関係数などを色で表現し、変数同士の関連性を一覧できる。

代替例

  • テーブル(表):正確な数値の比較が必要な場合。ただし大量データでは全体像が把握しにくくなります。
  • 散布図(Scatterplot):二変数間の関係を個々のデータ点として表示したい場合。
  • バブルチャート(Bubble Chart):セルの色ではなく円の大きさで値を表現する場合。
  • ツリーマップ(Treemap):階層構造を持つデータの比率を面積で表現したい場合。
  • 等高線図(Contour Plot):連続的な二次元データの密度を等高線で表現したい場合。

まとめ

ヒートマップは、大量のデータを色の変化によってコンパクトに表現し、パターンや傾向を直感的に把握できる可視化手法です。

相関行列やWebアナリティクスから生物情報学、地理分析まで、非常に幅広い分野で活用されており、その汎用性の高さが大きな特長です。適切なカラースケールの選択、行列の並べ替え、色覚多様性への配慮といったデザイン上の工夫により、データの構造をより効果的に伝えることができます。

参考・出典

1
2
3
- [Heat map - Wikipedia](https://en.wikipedia.org/wiki/Heat_map)
- [Heatmap - The Data Visualisation Catalogue](https://datavizcatalogue.com/methods/heatmap.html)
- [Heatmap Complete Guide - Atlassian](https://www.atlassian.com/data/charts/heatmap-complete-guide)
Licensed under CC BY-NC-SA 4.0
Apr 08, 2026 12:19 +0900