Skip to content

热力图完全教程:从基因表达到用户行为的数据可视化实战 ​

📅 2026-03-19 · ⏱️ 阅读约 8 分钟 · 热力图 科研图表 数据可视化


热力图(Heatmap)是数据可视化领域中最强大、也最常被误用的图表类型之一。它用颜色深浅来展示二维矩阵中数据的分布和密度,一张好的热力图能在瞬间传达数百甚至数千个数据点的模式。

在科研领域,热力图几乎是生物信息学、基因组学的"标配";在商业领域,它用于用户行为分析、地理数据展示等场景。

本文将全面讲解热力图的原理、类型、适用场景和制作方法。

一、热力图的核心原理 ​

热力图的本质很简单:

行(Y轴)× 列(X轴)→ 每个交叉点用颜色表示一个数值
  • 颜色越深 → 数值越大(或越小,取决于色阶方向)
  • 颜色越浅 → 数值越小(或越大)

人眼对颜色模式的识别非常敏锐,因此热力图可以让你一眼发现数据中的聚类、异常值和趋势。

二、热力图的类型 ​

2.1 经典热力图(Matrix Heatmap) ​

最常见的形式,展示二维矩阵数据。

应用场景行代表列代表色值代表
基因表达基因样本表达量
相关性矩阵变量变量相关系数
成绩分布学生科目分数
销售热力地区月份销售额

2.2 日历热力图 ​

用日历布局展示每天的数据量,最经典的例子就是 GitHub 的贡献图。

应用场景色值代表
GitHub 贡献图每天的 commit 数量
运动记录每天的运动时长
销售日报每天的订单量
科研实验日志每天的实验次数

2.3 地理热力图 ​

将数据叠加到地图上,用颜色密度表示地理分布。

应用场景色值代表
流行病学各地区发病率
环境监测各站点污染物浓度
商业分析各城市用户密度

三、科研中的热力图应用 ​

3.1 基因表达热力图 ​

这是科研中最经典的热力图应用。在转录组学(RNA-seq)、蛋白质组学等领域,热力图用于展示:

  • 差异表达基因:上调(红色)vs 下调(蓝色)
  • 样本聚类:相似样本聚在一起
  • 基因聚类:共表达基因聚在一起

数据格式:

GeneSample_A1Sample_A2Sample_B1Sample_B2
Gene_0012.32.1-1.5-1.8
Gene_002-0.8-0.53.23.5
Gene_0031.51.70.20.1

在得刻图表中:上传这份数据 → 输入"生成基因表达热力图,红色表示上调,蓝色表示下调" → AI 自动生成。

3.2 相关性矩阵热力图 ​

展示多个变量之间的皮尔逊/斯皮尔曼相关系数:

  • +1(深红):完全正相关
  • 0(白色):无相关
  • -1(深蓝):完全负相关

适用于:

  • 探索性数据分析的第一步
  • 发现多重共线性
  • 筛选相关变量

3.3 实验参数优化热力图 ​

在材料科学、化学工程等领域,经常需要优化多个参数的组合:

温度 \ 浓度0.1M0.5M1.0M2.0M
25°C12%35%58%42%
37°C18%52%75%61%
50°C25%48%82%55%
60°C15%38%65%40%

热力图可以一眼看出最优参数组合(50°C × 1.0M → 82%)。

四、商业中的热力图应用 ​

4.1 网站/App 点击热力图 ​

展示用户在页面上的点击分布,指导 UI 优化:

  • 红色区域 = 高频点击区
  • 蓝色区域 = 低频点击区

4.2 时间×类别销售热力图 ​

小时 \ 星期周一周二周三周四周五周六周日
9:001201151081251308060
12:00350340360345380420450
18:00280290285300350500480

一眼看出:周末中午和傍晚是销售高峰。

五、热力图配色方案 ​

选择合适的色阶对热力图的可读性至关重要:

色阶类型适用场景配色示例
连续单色只有正值的数据白→蓝 或 白→红
发散双色有正负值的数据蓝→白→红
分类色离散类别彩虹色(慎用)

科研热力图配色建议 ​

  • 基因表达:蓝(下调)→ 白 → 红(上调)
  • 相关性矩阵:蓝(负相关)→ 白 → 红(正相关)
  • 一般数值:白 → 深蓝 或 浅黄 → 深红

配色禁忌 ​

  • ❌ 彩虹色(Rainbow) — 看起来花哨但不直观,且对色盲不友好
  • ❌ 红绿配色 — 色盲人群无法区分
  • ✅ 蓝红系 — 直觉性强,科研论文最常用

六、制作热力图的实用技巧 ​

6.1 数据预处理 ​

  • 标准化:如果行与行之间的数值范围差异大,建议做 Z-score 标准化
  • 排序:按聚类结果排序(科研)或按数值大小排序(商业)
  • 缺失值处理:用灰色或特殊标记表示 NA

6.2 聚类树(Dendrogram) ​

科研热力图通常会在顶部和左侧加上聚类树,展示样本/基因的层级聚类关系。

6.3 标注 ​

  • 数据量小(<100 个单元格)时可以在每个格子中标注具体数值
  • 数据量大时只标注色标(Color bar)即可
  • 添加行/列的分组标签

6.4 图例(色标) ​

  • 必须包含色标(Color bar),标明数值与颜色的对应关系
  • 标注最小值和最大值
  • 科研热力图的色标通常放在图表右侧

七、用得刻图表生成热力图 ​

得刻图表支持经典热力图和日历热力图两种类型。

经典热力图 ​

数据格式:矩阵型 Excel
  行 = 基因/变量
  列 = 样本/时间
  值 = 数值

描述示例:
"生成一个热力图,展示各基因在各样本中的表达量"
"用热力图展示各地区各月的销售额分布"
"生成各变量之间的相关性热力图"

日历热力图 ​

数据格式:日期 + 数值
  Date | Value
  2026-01-01 | 5
  2026-01-02 | 12

描述示例:
"生成日历热力图,展示每天的订单量"
"用日历热力图展示全年的实验频率"

八、常见错误 ​

❌ 不做数据标准化 ​

不同行的数值范围差异很大时,不标准化会导致部分行"看不出差异"。

❌ 色阶范围设置不当 ​

自动色阶可能会被极端值拉偏。设置合理的最小值/最大值可以让主体数据更清晰。

❌ 热力图不附加色标 ​

没有色标的热力图 = 没有 Y 轴的折线图。读者无法将颜色映射到具体数值。


总结 ​

热力图是最适合展示大规模矩阵数据的可视化方式。无论是科研中的基因表达分析,还是商业中的用户行为洞察,一张精心制作的热力图都能让数据模式"一目了然"。

记住:好的热力图 = 合理的配色 + 标准化的数据 + 清晰的色标 + 恰当的排序。


延伸阅读 ​

🚀 立即生成你的热力图