【Matlab】绘制热力图和三维热力图

文章目录


cdata = [1 2 3 4 5; 5 4 3 2 1; 1 2 3 4 5; 5 4 3 2 1; 1 2 3 4 5];
xvalues = {'1x', '2x', '3x', '4x', '5x'};
yvalues = {'1y', '2y', '3y', '4y', '5y'};
h = heatmap(xvalues, yvalues, cdata);

在这里插入图片描述


clc;clear;close all;
% 定义点(x,y,z)
x			= randn(50,1);
xmax 	= max(x);
xmin 	= min(x);
y			= randn(50,1);
ymax 	= max(y);
ymin 	= min(y);
z = exp(sin(x.^2)) + exp(cos(y.^2));
N = 500; % 每个维度的数据点数
% 网格化x,y二维空间
[X,Y] = meshgrid(linspace(xmin,xmax,N),linspace(ymin,ymax,N));
% 采用插值法扩展数据,可用方法有'linear'(default)|'nearest'|'natural'|'cubic'|'v4'|
Z = griddata(x,y,z,X,Y,'v4');

%% 等高线法
figure('NumberTitle','off','Name','等高线法','Color','w','MenuBar','none','ToolBar','none');
contourf(X,Y,Z,N, 'LineColor','none');
colormap('jet');
colorbar;
axis off;

%% 投影图法
figure('NumberTitle','off','Name','投影图法','Color','w','MenuBar','none','ToolBar','none');
surf(X,Y,Z,'LineStyle','none');
xlim([min(X(:)) max(X(:))]);
ylim([min(Y(:)) max(Y(:))]);
axis off;
colormap('jet');
colorbar;
shading interp;
view(0,90);

%% imagesc法
figure('NumberTitle','off','Name','imagesc法','Color','w','MenuBar','none','ToolBar','none');
% 因为图像坐标和笛卡尔坐标起始位置不一样,需要上下翻转
imagesc(flipud(Z));
colormap('jet');
colorbar;
axis off;

%% pcolor法
figure('NumberTitle','off','Name','pcolor法','Color','w','MenuBar','none','ToolBar','none');
pcolor(X,Y,Z);
colormap('jet');
colorbar;
shading interp;
axis off;

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


cdata = [1 2 3 4 5];
xvalues = {'1x', '2x', '3x', '4x', '5x'};
yvalues = {'Arduino'};
h = heatmap(xvalues, yvalues, cdata);

在这里插入图片描述

Ref:

  1. 创建热图- MATLAB heatmap - MathWorks 中国
  2. 看完这篇,还有你不会画的热力图吗?
  3. matlab热力图
要使用MATLAB绘制三维热力图,你可以按照以下步骤操作: 1. 首先,准备你的数据。你需要有一个矩阵,其中的值表示热图上的每个点的温度。确保矩阵的维度是正确的,且与你希望在热力图上显示的坐标范围相对应。 2. 在MATLAB中创建一个新的图形窗口,使用`figure`命令。可以指定窗口的大小和标题等参数。 3. 使用`surf`函数创建一个三维曲面图,该图将被转换为热力图。将你的数据矩阵作为输入参数传递给该函数。 4. 使用`colormap`函数选择合适的颜色映射方案。你可以从MATLAB提供的预定义的颜色映射方案中选择,或者创建一个自定义的颜色映射。 5. 使用`colorbar`函数添加一个颜色条到图形中,以便于解读热力图中的颜色与温度之间的对应关系。 6. 如果需要,可以使用`xlabel`、`ylabel`和`zlabel`函数为坐标轴添加标签,以便于解读图形。 7. 使用`title`函数添加一个图形标题,简要描述热力图的内容。 8. 随着数据点数量的增加,热力图可能会变得混乱不易读取。如果需要,你可以使用`view`函数调整视图角度和方向,以便于更好地解读热力图。 9. 最后,使用`axis`函数调整坐标轴的范围,以确保热力图的显示不会超出预期的范围。 完成上述步骤后,你就可以使用MATLAB绘制出一个三维热力图,该图可以直观地展示你提供的数据点的温度分布情况。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zhao-Jichao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值