热图的基础绘制(Matlab代码实现)

简介: 热图的基础绘制(Matlab代码实现)

💥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.

🌈4 Matlab代码实现


相关文章
|
7月前
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
643 0
|
7月前
|
算法 定位技术 计算机视觉
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
808 0
|
7月前
|
算法 机器人 计算机视觉
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
221 0
|
7月前
|
新能源 Java Go
【EI复现】参与调峰的储能系统配置方案及经济性分析(Matlab代码实现)
【EI复现】参与调峰的储能系统配置方案及经济性分析(Matlab代码实现)
239 0
|
7月前
|
机器学习/深度学习 算法 机器人
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
317 8
|
7月前
|
机器学习/深度学习 编解码 算法
基于OFDM技术的水下声学通信多径信道图像传输研究(Matlab代码实现)
基于OFDM技术的水下声学通信多径信道图像传输研究(Matlab代码实现)
318 8
|
7月前
|
机器学习/深度学习 数据采集 测试技术
基于CEEMDAN-VMD-BiLSTM的多变量输入单步时序预测研究(Matlab代码实现)
基于CEEMDAN-VMD-BiLSTM的多变量输入单步时序预测研究(Matlab代码实现)
276 8
|
7月前
|
机器学习/深度学习 算法 自动驾驶
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
361 8
|
7月前
|
编解码 运维 算法
【分布式能源选址与定容】光伏、储能双层优化配置接入配电网研究(Matlab代码实现)
【分布式能源选址与定容】光伏、储能双层优化配置接入配电网研究(Matlab代码实现)
559 12
|
7月前
|
人工智能 数据可视化 网络性能优化
【顶级SCI复现】虚拟电厂的多时间尺度调度:在考虑储能系统容量衰减的同时,整合发电与多用户负荷的灵活性研究(Matlab代码实现)
【顶级SCI复现】虚拟电厂的多时间尺度调度:在考虑储能系统容量衰减的同时,整合发电与多用户负荷的灵活性研究(Matlab代码实现)
232 9

热门文章

最新文章