💥1 概述
热图是一种很常见的图,其基本原则是用颜色代表数字,让数据呈现更直观、对比更明显。常用来表示不同样品组代表性基因的表达差异、不同样品组代表性化合物的含量差异、不同样品之间的两两相似性。实际上,任何一个表格数据都可以转换为热图展示。热图通过将数据矩阵中的各个值按一定规律映射为颜色展示,利用颜色变化来可视化比较数据。当应用于数值矩阵时,热图中每个单元格的颜色展示的是行变量和列变量交叉处的数据值的大小;若行为基因,列为样品,则是对应基因在对应样品的表达值;若行和列都为样品,展示的可能是对应的两个样品之间的相关性。数字映射到颜色可以分为线性映射和区间映射。线性映射是每个值都对应一个颜色,区间映射是把数值划分为不同的区间块,每个区间块的所有数字采用同样本相关性热图为对称热图,每个单元格代表一个相关性值,具体是哪种类型的相关性可从图例 (Legend)获取。一般结合层级聚类展示,样品相似度高的聚在一起。同时标记样品自身的分组、处理信息,查看样品聚类结果是否与生物分组吻合、差别在哪、各个生物重复的一致性怎么样、各个生物重复是与自己组的样品一致性高还是与其它组样品一致性高,这些可以反映处理的批次的影响和样品质量的好坏。一个颜色显示。两者没有优劣好坏之分,具体使用取决于展示意图。热图是对实验数据分布情况进行分析的直观可视化方法,可以用来进行实验数据的质量控制和差异数据的具像化展示,其基本原则是用颜色代表数字,让数据呈现更直观、对比更明显。还可以对数据和样本进行聚类,观测样品质量。热图有多种形式,但基本的元素是一致的。
1.热图:用颜色代表数字,让数据呈现更直观,对比更明显。
作用:(1)直观呈现多样本多个基因的全局表达量变化(2)呈现多样本多基因表达量的聚类关系。
2.聚类:本质上是利用多组值间两两的差异程度或者相似程度作为依据,对多组值进行层吸聚类,以最终得到样本间聚类的远近关系。
作用:探讨样本(或基因)的表达量水平如何分类,以及相关关系。
📚2 运行结果
部分代码:
% 基础使用(Basic use) if ~exist('gallery\','dir') mkdir('gallery\') end %% 绘制无负数的热图(Draw positive heat map) figure() Data=rand(15,15); SHM1=SHeatmap(Data,'Format','sq'); SHM1=SHM1.draw(); % exportgraphics(gca,'gallery\Basic_positive.png') %% 绘制有负数热图(Contains negative numbers) figure() Data=rand(15,15)-.5; SHM2=SHeatmap(Data,'Format','sq'); SHM2=SHM2.draw(); % exportgraphics(gca,'gallery\Basic_negative.png') %% 绘制不同大小热图(Draw heat maps of different sizes) figure() Data=rand(25,30); SHM4=SHeatmap(Data,'Format','sq'); SHM4=SHM4.draw(); % exportgraphics(gca,'gallery\Basic_25_30.png') %% 调整colorbar位置(Adjust the colorbar Location) figure() Data=rand(3,12); SHM5=SHeatmap(Data,'Format','sq'); SHM5=SHM5.draw(); CB=colorbar; CB.Location='southoutside'; % exportgraphics(gca,'gallery\Basic_colorbar_location.png') %% 绘制有NaN热图(Draw heat map with NaN) figure() Data=rand(12,12)-.5; Data([4,5,13])=nan; SHM6=SHeatmap(Data,'Format','sq'); SHM6=SHM6.draw(); % exportgraphics(gca,'gallery\Basic_with_NaN.png') %% 绘制有文本热图(Draw heat map with texts) figure() Data=rand(12,12)-.5; Data([4,5,13])=nan; SHM7=SHeatmap(Data,'Format','sq'); SHM7=SHM7.draw(); SHM7.setText(); % exportgraphics(gca,'gallery\Basic_with_text.png') %% 绘制带标签热图(Draw heat map with labels) figure() Data=rand(12,12); SHM8=SHeatmap(Data,'Format','sq'); SHM8=SHM8.draw(); ax=gca; ax.XTickLabel={'X-1','X-2','X-3','X-4','X-5','X-6','X-7','X-8','X-9','X-10','X-11','X-12'}; ax.YTickLabel={'Y-1','Y-2','Y-3','Y-4','Y-5','Y-6','Y-7','Y-8','Y-9','Y-10','Y-11','Y-12'}; ax.FontSize=14; % exportgraphics(gca,'gallery\Basic_with_labels.png')
🎉3 参考文献
部分理论来源于网络,如有侵权请联系删除。
[1]姚燚垚.2021年该被关注的10张热图[J].摄影之友,2022(01):24-29.