MATLAB怎么画热力图_heatmap函数数据可视化教程

雨涛吖_6892

雨涛吖_6892

2026-04-30

437人浏览

原创

heatmap函数是MATLAB中绘制热力图的直接高效工具,支持矩阵输入、行列标签指定、表格自动聚合、颜色与格式自定义及交互式探索五种方式。

matlab怎么画热力图_heatmap函数数据可视化教程

如果您在MATLAB中需要将二维数值矩阵或表格数据以颜色梯度形式直观呈现,则heatmap函数是直接、高效的选择。以下是实现热力图绘制的多种方式:

一、使用矩阵数据绘制基础热力图

当已有预聚合的二维数值矩阵时,可直接传入heatmap函数,每个矩阵元素对应一个色块,颜色深浅反映数值大小。该方式无需额外分组或统计,适用于已知密度或相关性矩阵的场景。

1、在命令行或脚本中定义一个10×10的随机数值矩阵:
data = rand(10, 10);

2、调用heatmap函数绘制:
h = heatmap(data);

3、运行后将自动生成带默认坐标轴标签和图例的热力图窗口,行列索引自动编号为1至10。

二、指定行列标签绘制带语义的热力图

为提升可读性,可显式提供x轴与y轴的文本标签,使每个色块对应具体类别(如月份、产品型号、基因名称等),要求标签数量必须与矩阵行列数严格一致。

1、定义行标签与列标签:
months = {'Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct'};
products = {'A','B','C','D','E','F','G','H','I','J'};

2、生成对应维度的销售数据矩阵:
sales_data = randi([0, 100], 10, 10);

3、调用带标签的heatmap函数:
h = heatmap(months, products, sales_data);

4、添加标题增强信息表达:
h.Title = 'Monthly Sales Performance';

三、基于表格数据自动聚合生成热力图

当原始数据为长格式表格(如多行观测记录)时,heatmap可按指定两列变量自动统计频次或计算均值,省去手动调用accumarray或groupsummary的步骤,特别适合处理患者记录、实验重复、用户行为日志等结构化表数据。

1、加载示例表格(如内置patients数据集):
load patients;
tbl = table(Gender, SmokingStatus, SelfAssessedHealthStatus);

2、以Gender为x轴、SmokingStatus为y轴,统计每组出现频次:
h = heatmap(tbl, 'Gender', 'SmokingStatus');

3、若需按第三列(如SelfAssessedHealthStatus)计算均值而非频次:
h = heatmap(tbl, 'Gender', 'SmokingStatus', 'ColorVariable', 'SelfAssessedHealthStatus');

智能数据可视化
智能数据可视化

AI智能数据可视化;支持多种图表类型(柱状图、折线图、饼图、散点图、直方图、箱线图、小提琴图、面积图、热力图、平行坐标图、旭日图等),根据数据特征自动分析并推荐最佳图表组合,生成精美交互式HTML仪表板

下载

4、设置颜色聚合方法为中位数以降低异常值影响:
h.ColorMethod = 'median';

四、自定义颜色映射与显示格式

默认parula配色虽具感知均匀性,但不同分析目标需匹配特定视觉逻辑:例如高风险区域需突出显示,或满足出版物灰度打印要求。通过修改colormap和单元格标签格式,可精准控制输出表现。

1、应用内置冷暖对比更强的'hot'配色:
colormap(h, 'hot');

2、创建自定义RGB颜色映射(如蓝→白→红):
colors = [0 0 1; 1 1 1; 1 0 0];
colors_map = interp1([0,0.5,1], colors, linspace(0,1,256), 'linear');
colormap(h, colors_map);

3、设置单元格内显示三位小数的数值标签:
h.CellLabelFormat = '%0.3f';

4、隐藏所有单元格数值仅保留颜色分布:
h.DisplayDataTips = 'off';
h.CellLabelVisibility = 'off';

五、交互式探索与布局调整

生成的HeatmapChart对象支持实时交互操作,无需重绘即可动态聚焦关键区域、重新排序行列、校验数据点,大幅缩短探索周期。

1、鼠标悬停任意色块,弹出数据提示框显示精确坐标与数值;

2、滚动鼠标滚轮进行缩放,或按住+/-键微调缩放比例;

3、点击并拖拽某一行标签,将其移动至新位置以自定义排列顺序;

4、将鼠标悬停于行/列标签右侧图标上,单击按升序排列,双击降序,三击恢复原始顺序;

5、右键点击热力图空白处,在弹出菜单中选择“Edit Data Tips”可增删数据提示中显示的字段。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

数据可视化

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
fprintf在matlab中的用法
fprintf在matlab中的用法

fprintf是MATLAB中用于格式化输出的函数。fprintf的基本语法为“fprintf(fileID, format, A)”,其中,fileID是一个标识符,用于指定要写入的文件,如果要将数据写入到命令窗口中,则可以使用1作为fileID的值,format是一个字符串,用于指定输出的格式,A是要输出的数据。

2023.09.28

758

5

数据分析工具有哪些
数据分析工具有哪些

数据分析工具有Excel、SQL、Python、R、Tableau、Power BI、SAS、SPSS和MATLAB等。详细介绍:1、Excel,具有强大的计算和数据处理功能;2、SQL,可以进行数据查询、过滤、排序、聚合等操作;3、Python,拥有丰富的数据分析库;4、R,拥有丰富的统计分析库和图形库;5、Tableau,提供了直观易用的用户界面等等。

2023.10.12

4843

8

Matlab中length函数的用法
Matlab中length函数的用法

在Matlab中,length函数用于返回向量、数组或字符串中的元素个数。想了解更多length函数的相关内容,可以阅读本专题下面的文章。

2023.11.22

518

5

Matlab中axis函数用法
Matlab中axis函数用法

在Matlab中,axis函数用于控制坐标轴的范围和比例。想了解更多axis函数的相关内容,可以阅读本专题下面的文章。

2023.11.23

912

5

subplot在matlab中的用法
subplot在matlab中的用法

subplot在matlab中用于在同一个图窗中创建多个子图。通过指定子图的行数、列数和当前绘图位置,可以在每个子图中绘制不同的图形。想了解更多subplot在matlab中的用法,可以访问下面的文章。

2023.11.27

237

3

scilab和matlab的区别
scilab和matlab的区别

scilab和matlab的区别:1、注释符号;2、预设变量的表示;3、操作符的用法;4、矩阵的定义与调用;5、程序的编辑与执行;6、数据类型;7、函数库;8、图形界面;9、社区支持与生态系统;10、跨平台兼容性;11、价格。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.12.11

289

5

Matlab如何四舍五入
Matlab如何四舍五入

Matlab可以通过round函数和格式化输出函数来对数值来进行四舍五入操作。更多关于Matlab相关的问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

2023.12.12

1197

11

Matlab中axis函数用法介绍
Matlab中axis函数用法介绍

在Matlab中,axis函数用于设置当前坐标轴的范围和刻度。想了解更多axis函数的相关内容,可以阅读本专题下面的文章。

2023.12.13

283

6

matlab griddata函数用法
matlab griddata函数用法

matlab中函数用于在给定的(X,Y)坐标上插值相应的Z值,从而将一组三维数据(x,y,z)网格化。想了解更多matlab的相关内容,可以阅读本专题下面的文章。

2023.12.15

3392

9

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程