【MATLAB热图的两种画图方式:heatmap和imagesc】

avatar
作者
猴君
阅读量:2

Matlab画图

文章目录

  • Matlab画图
  • Matlab热力图简述
  • 一、Matlab热力图画法:imagesc
  • 二、Matlab热力图画法:heatmap
  • 三、imagesc和heatmap两者的区别


Matlab热力图简述

MATLAB 中使用热力图的主要目的是可视化矩阵或二维数据集的值,从事数据挖掘的研究人员应该是都比较熟悉的。 最近,在论文书写中,为了直观展示数据变量中特征间的关系,详细的了解了下,为此记录同时分享给大家。


一、Matlab热力图画法:imagesc

imagesc 函数可以用于显示矩阵中的数据,并根据数据的大小在热力图上显示不同的颜色。下面是使用 imagesc 函数创建热力图的示例代码:

% 创建一个随机矩阵 clear all rng(2024) data = randn(50, 50);  % 显示热力图 imagesc(data); colorbar; % 添加颜色条 colormap('parula'); % 设置颜色映射,例如 'jet', 'hot', 'cool', 'gray'% 可选:调整坐标轴刻度 xticks([0:5:size(data, 2)]); yticks([0:5:size(data, 2)]);  % 可选:设置坐标轴刻度标签 xticklabels(); yticklabels();  % 添加坐标轴标签 xlabel('X 轴','FontSize',14); ylabel('Y 轴','FontSize',14); title('方法1::Imagesc'); 

在这里插入图片描述

二、Matlab热力图画法:heatmap

除了使用 imagesc 函数外,还可以使用 heatmap 函数创建热力图。下面是使用 heatmap 函数创建热力图的示例代码:

% 创建一个随机矩阵 clear all rng(2024) data = randn(50, 50);  % 显示热力图 figure; h=heatmap(data,'Colormap', parula );  % 添加坐标轴标签 xlabel('X 轴'); ylabel('Y 轴'); title('方法2: heatmap'); 

在这里插入图片描述

三、imagesc和heatmap两者的区别

heatmap

  • heatmap 函数是 MATLAB R2017a 版本引入的新函数,用于创建热力图。
  • heatmap 函数可以直接接受表格数据作为输入,方便处理含有行列名称的数据。
  • heatmap 函数的输出是一个 HeatmapChart 对象,可以进一步调整和修改。

imagesc

  • imagesc 函数是 MATLAB 中经典的用于绘制矩阵热力图的函数。
  • imagesc 函数相对简单,主要用于快速绘制矩阵的热力图,通常用于快速查看数据分布。

此外,在我画图过程中发现:

  • 当输入的矩阵维度较高时,heatmap展示的小方块太过稠密,放在pdf中缩小时会一片黑

  • 而imagesc在数据维度高时会对小方格进行模糊化处理,保留整体颜色效果

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!