✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。
🍎 往期回顾关注个人主页:Matlab科研工作室
🍊个人信条:格物致知,完整Matlab代码及仿真咨询内容私信。
🔥 内容介绍
热图,又称热力图,是一种以颜色的深浅来可视化数据矩阵的技术。它将数值数据映射到颜色空间,使得原本抽象的数据得以直观地展现其分布规律和潜在模式。由于其强大的数据呈现能力和广泛的应用场景,热图已成为生物信息学、金融分析、社会科学等领域不可或缺的数据分析工具。 本文旨在探讨热图的基础绘制,从数据准备、绘图原理、关键参数调整等方面进行深入讲解,以期帮助读者掌握热图绘制的核心技术。
一、数据准备:热图绘制的基石
热图的核心是数据矩阵,因此数据的质量和组织形式直接决定了热图的可视化效果。 通常情况下,热图的数据矩阵由行和列组成,行代表样本,列代表特征,矩阵中的每个元素代表对应样本在对应特征上的数值。
在数据准备阶段,需要关注以下几个关键点:
- 数据类型:
热图通常适用于数值型数据。 对于非数值型数据,例如字符型数据,需要进行编码转换,将其转化为数值型数据,例如将“是”、“否”转化为 1 和 0。
- 数据清洗:
数据清洗是数据准备的重要环节。 异常值和缺失值都会影响热图的视觉效果和分析结果。 对于异常值,需要根据实际情况进行处理,例如剔除、替换或进行平滑处理。 对于缺失值,可以采用插补方法进行填充,例如均值插补、中位数插补或使用更复杂的算法进行预测填充。
- 数据标准化:
由于不同特征的数值范围可能差异巨大,直接绘制热图会导致数值范围较小的特征在颜色上难以区分,从而影响可视化效果。 因此,数据标准化是必要的。 常用的标准化方法包括:
- Z-score 标准化:
将数据转化为均值为 0,标准差为 1 的分布。 公式为:
(x - μ) / σ
,其中x
为原始数据,μ
为均值,σ
为标准差。 - Min-Max 标准化:
将数据缩放到 0 到 1 之间。 公式为:
(x - min) / (max - min)
,其中x
为原始数据,min
为最小值,max
为最大值。 - 其他标准化方法:
例如,对数变换、平方根变换等,可以根据数据的分布特点进行选择。
- Z-score 标准化:
选择合适的标准化方法需要根据数据的特点和分析目标进行权衡。 例如,Z-score 标准化更能保持数据的原始分布形态,而 Min-Max 标准化则对异常值更敏感。
二、绘图原理:颜色映射与可视化
热图的核心在于将数值数据映射到颜色空间。 常用的颜色映射方案包括:
- 单色渐变:
使用单一颜色,通过调整颜色的亮度或饱和度来表示数值的大小。 例如,从浅蓝色到深蓝色,深蓝色代表数值越大。
- 双色渐变:
使用两种颜色,例如红色和蓝色,中间颜色通常为白色或灰色。 红色代表正值,蓝色代表负值,颜色越深代表数值的绝对值越大。 这种方案常用于展示差异表达数据,例如基因表达数据。
- 多色渐变:
使用多种颜色,例如彩虹色,通过颜色之间的平滑过渡来表示数值的大小。 这种方案可以展示更精细的数据分布,但需要谨慎选择颜色,避免产生视觉误导。
颜色映射方案的选择需要考虑数据的性质和分析目标。 例如,对于有正负的数据,双色渐变是更好的选择; 对于需要展示精细分布的数据,多色渐变可以考虑。
除了颜色映射方案,热图的绘图还涉及到以下几个关键步骤:
- 确定颜色范围:
确定颜色映射的最小值和最大值,超出该范围的数据将被映射到颜色范围的边界。 例如,如果颜色范围为 0 到 1,则小于 0 的数据将被映射为 0,大于 1 的数据将被映射为 1。
- 构建颜色调色板:
根据颜色映射方案,构建一个颜色调色板,将数值数据映射到具体的颜色值。
- 绘制热图单元格:
根据数据矩阵,将每个元素映射到对应的颜色,并绘制成热图的单元格。
三、关键参数调整:优化热图的可视化效果
热图的绘制涉及多个参数,通过调整这些参数可以优化热图的可视化效果,更好地呈现数据信息。
- 颜色映射方案 (Colormap):
如前所述,选择合适的颜色映射方案至关重要。 不同的颜色映射方案会影响数据的视觉呈现和解读。
- 颜色范围 (Color Range):
设置颜色范围可以控制颜色映射的范围。 如果数据中存在异常值,可以适当调整颜色范围,以突出显示正常值区域的数据。
- 单元格大小 (Cell Size):
调整单元格大小可以控制热图的整体大小和细节展示。 较大的单元格可以更清晰地展示颜色信息,但会牺牲细节; 较小的单元格可以展示更精细的数据分布,但会增加视觉负担。
- 颜色条 (Color Bar):
颜色条是热图的重要组成部分,用于解释颜色和数值之间的对应关系。 颜色条的标题、刻度、标签等都应该清晰易懂,方便读者理解热图。
- 行和列的顺序 (Row and Column Ordering):
行和列的顺序直接影响热图的视觉模式。 可以通过聚类分析等方法对行和列进行排序,使得相似的样本或特征聚集在一起,从而更容易发现数据的模式。 常用的聚类方法包括层次聚类、K-means 聚类等。
- 注释 (Annotations):
在热图上添加注释可以提供更丰富的信息。 例如,可以添加行名、列名、样本标签、特征描述等。
四、常用的热图绘制工具
目前,有很多工具可以用于绘制热图,常见的包括:
- R 语言:
R 语言是一种强大的统计分析和可视化工具。 R 语言的
heatmap
、heatmap.2
、pheatmap
等函数可以用于绘制热图,并提供了丰富的参数控制选项。 - Python:
Python 是一种通用的编程语言,具有强大的数据分析和可视化能力。 Python 的
matplotlib
、seaborn
等库可以用于绘制热图,并且可以与其他数据分析工具进行集成。 - MATLAB:
MATLAB 是一种商业数学软件,提供了丰富的科学计算和可视化功能。 MATLAB 的
heatmap
函数可以用于绘制热图。 - 在线工具:
一些在线工具也提供了热图绘制功能,例如,Heatmapper、MORPHEUS 等。 这些工具通常易于使用,无需编程经验,适合快速生成热图。
选择合适的绘图工具需要根据用户的编程经验、数据分析需求和软件许可情况进行权衡。
五、热图的应用场景
热图的应用非常广泛,以下列举几个常见的应用场景:
- 基因表达数据分析:
热图可以用于展示基因表达数据,帮助研究人员发现差异表达基因和基因表达模式。
- 微生物组分析:
热图可以用于展示微生物群落的组成和丰度,帮助研究人员了解不同样本之间的微生物群落差异。
- 金融分析:
热图可以用于展示股票价格、交易量等金融数据,帮助分析师发现市场趋势和潜在风险。
- 社会科学研究:
热图可以用于展示社会调查数据,例如人口分布、收入水平等,帮助研究人员了解社会现象的分布规律。
六、总结与展望
热图是一种强大的数据可视化工具,通过将数值数据映射到颜色空间,可以直观地展现数据的分布规律和潜在模式。 本文详细阐述了热图的基础绘制,包括数据准备、绘图原理、关键参数调整以及常用工具等。 掌握这些知识,可以帮助读者更好地利用热图进行数据分析和可视化。
随着数据科学的不断发展,热图技术也在不断进步。 未来的热图可能会更加智能化、交互化,能够更好地适应不同类型的数据和分析需求。 例如,可以通过机器学习算法自动调整颜色范围和排序方式,以优化可视化效果; 可以添加交互式功能,允许用户放大、缩小、旋转热图,并查看单个单元格的数据信息。 相信在未来,热图将会在更多领域发挥重要作用,为数据分析和决策提供更有力的支持。
⛳️ 运行结果
🔗 参考文献
[1] 钱叶飞.基于"十八反"的中药配伍禁忌理论基础研究[D].南京中医药大学,2016.
[2] 张国栋,张泾周,杨蕊,等.基于小波-Contourlet的Bayes估计医用红外热图去噪方法[J].科学技术与工程, 2012, 12(26):6652-6656.DOI:10.3969/j.issn.1671-1815.2012.26.021.
📣 部分代码
🎈 部分理论引用网络文献,若有侵权联系博主删除
👇 关注我领取海量matlab电子书和数学建模资料
🏆团队擅长辅导定制多种科研领域MATLAB仿真,助力科研梦:
🌈 各类智能优化算法改进及应用
生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化、公交排班优化、充电桩布局优化、车间布局优化、集装箱船配载优化、水泵组合优化、解医疗资源分配优化、设施布局优化、可视域基站和无人机选址优化、背包问题、 风电场布局、时隙分配优化、 最佳分布式发电单元分配、多阶段管道维修、 工厂-中心-需求点三级选址问题、 应急生活物质配送中心选址、 基站选址、 道路灯柱布置、 枢纽节点部署、 输电线路台风监测装置、 集装箱调度、 机组优化、 投资优化组合、云服务器组合优化、 天线线性阵列分布优化、CVRP问题、VRPPD问题、多中心VRP问题、多层网络的VRP问题、多中心多车型的VRP问题、 动态VRP问题、双层车辆路径规划(2E-VRP)、充电车辆路径规划(EVRP)、油电混合车辆路径规划、混合流水车间问题、 订单拆分调度问题、 公交车的调度排班优化问题、航班摆渡车辆调度问题、选址路径规划问题、港口调度、港口岸桥调度、停机位分配、机场航班调度、泄漏源定位
🌈 机器学习和深度学习时序、回归、分类、聚类和降维
2.1 bp时序、回归预测和分类
2.2 ENS声神经网络时序、回归预测和分类
2.3 SVM/CNN-SVM/LSSVM/RVM支持向量机系列时序、回归预测和分类
2.4 CNN|TCN|GCN卷积神经网络系列时序、回归预测和分类
2.5 ELM/KELM/RELM/DELM极限学习机系列时序、回归预测和分类
2.6 GRU/Bi-GRU/CNN-GRU/CNN-BiGRU门控神经网络时序、回归预测和分类
2.7 ELMAN递归神经网络时序、回归\预测和分类
2.8 LSTM/BiLSTM/CNN-LSTM/CNN-BiLSTM/长短记忆神经网络系列时序、回归预测和分类
2.9 RBF径向基神经网络时序、回归预测和分类
2.10 DBN深度置信网络时序、回归预测和分类
2.11 FNN模糊神经网络时序、回归预测
2.12 RF随机森林时序、回归预测和分类
2.13 BLS宽度学习时序、回归预测和分类
2.14 PNN脉冲神经网络分类
2.15 模糊小波神经网络预测和分类
2.16 时序、回归预测和分类
2.17 时序、回归预测预测和分类
2.18 XGBOOST集成学习时序、回归预测预测和分类
2.19 Transform各类组合时序、回归预测预测和分类
方向涵盖风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、用电量预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断
🌈图像处理方面
图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知
🌈 路径规划方面
旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、 充电车辆路径规划(EVRP)、 双层车辆路径规划(2E-VRP)、 油电混合车辆路径规划、 船舶航迹规划、 全路径规划规划、 仓储巡逻
🌈 无人机应用方面
无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配、无人机安全通信轨迹在线优化、车辆协同无人机路径规划
🌈 通信方面
传感器部署优化、通信协议优化、路由优化、目标定位优化、Dv-Hop定位优化、Leach协议优化、WSN覆盖优化、组播优化、RSSI定位优化、水声通信、通信上传下载分配
🌈 信号处理方面
信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号、信号配时优化、心电信号、DOA估计、编码译码、变分模态分解、管道泄漏、滤波器、数字信号处理+传输+分析+去噪、数字信号调制、误码率、信号估计、DTMF、信号检测
🌈电力系统方面
微电网优化、无功优化、配电网重构、储能配置、有序充电、MPPT优化、家庭用电
🌈 元胞自动机方面
交通流 人群疏散 病毒扩散 晶体生长 金属腐蚀
🌈 雷达方面
卡尔曼滤波跟踪、航迹关联、航迹融合、SOC估计、阵列优化、NLOS识别
🌈 车间调度
零等待流水车间调度问题NWFSP 、 置换流水车间调度问题PFSP、 混合流水车间调度问题HFSP 、零空闲流水车间调度问题NIFSP、分布式置换流水车间调度问题 DPFSP、阻塞流水车间调度问题BFSP
👇