热图(Heatmap)是数据分析和可视化中展示矩阵数据分布的核心工具,适用于基因表达分析、市场数据对比等场景。本文将基于 R语言的pheatmap包,详细讲解热图绘制全流程,涵盖 基础绘图、参数调优、注释添加、聚类分面 等技巧,并提供 逐行代码注释,新手也能快速掌握。

一、环境准备与数据生成

1.1 安装与加载包

# 安装pheatmap包(首次运行需执行)install.packages("pheatmap")# 加载包library(pheatmap)# 生成模拟数据(20行基因 × 10列样本)set.seed(123) # 固定随机数,确保结果可重复expr_matrix <- matrix(rnorm(200), nrow = 20, ncol = 10)rownames(expr_matrix) <- paste0("Gene", 1:20) # 行名为基因编号colnames(expr_matrix) <- paste0("Sample", 1:10) # 列名为样本编号# 查看数据前3行head(expr_matrix[, 1:3])

1.2 数据标准化

# 按行标准化(Z-score归一化,突出基因在不同样本中的表达差异)expr_scaled <- t(scale(t(expr_matrix))) # 按列标准化:scale(expr_matrix, center=TRUE, scale=TRUE)

二、基础热图绘制

2.1 基础绘图(不聚类)

​​​​​​​

pheatmap(expr_scaled, main = "基因表达热图(默认参数)", cluster_rows = FALSE, #是否对行进行聚类,默认TRUE cluster_cols = FALSE, #是否对列进行聚类,默认TRUE color = colorRampPalette(c("navy", "white", "firebrick3"))(100))