热力图(Thermodynamic diagram)绘制MATLAB代码详解

目录

Preface

1.表格型热力图(Tabular thermal diagram)

 Ⅰ、相关系数矩阵热力图( Thermal diagram of correlation coefficient matrix)

Ⅱ、Thermal diagram of  Spongebaby

Ⅲ、RGB通道

2、平滑型热力图(Smooth-type thermal diagram)

Ⅰ、多峰函数(Multimodal function)

Ⅱ、earth

Reference article


Preface

        热力图,是一种通过对色块(Color block)着色来显示数据的统计图表。绘图时,需指定颜色映射的规则(Colormap)。例如,较大的值由较深的颜色表示,较小的值由较浅的颜色表示;较大的值由偏暖的颜色表示,较小的值由较冷的颜色表示,等等。热力图分为表格型热力图和平滑型热力图两类。

1.表格型热力图(Tabular thermal diagram)

         即色块图(Color block diagram)。下面是日本东京140年里的夏季气温绘制成的热力图。

 Ⅰ、相关系数矩阵热力图( Thermal diagram of correlation coefficient matrix)

        这是从2023-2030老龄化(>=65)比率预测模型提取的数据,颜色越深表示相关性越高。

load('p.mat');
correlationmatrix=corrcoef(p);
labels={'15-64比率','>65比率','自然增长率','GDP','医院数'};
h=heatmap(labels,labels,correlationmatrix,'Title','表格型热力图相关系数矩阵');
colormap('jet')

这是50*50随机矩阵热力图

figure
x=rand(50,50);
heatmap(x,'title','表格型热力图50*50随机矩阵');
colormap('cool')

Ⅱ、Thermal diagram of  Spongebaby

        这是原图。

 这是经处理和修改后得到的50*50像素数据

 这是根据数据绘制的热力图

figure
s1=imread("C:\Users\hqh\Desktop\Sponge baby.png");
s2=imresize(s1,[50,50]);%转化为50*50的矩阵
s3=rgb2gray(s2);
heatmap(s3,"Title",'表格型热力图Spongebaby像素50*50')
colormap('hot')

Ⅲ、RGB通道

RGB色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是运用最广的颜色系统之一。

s1=imread("C:\Users\hqh\Desktop\Sponge baby.png");%返回三维矩阵
s2=imresize(s1,[50,50]);%像素变为50*50
s3=rgb2gray(s2);
titles1={'R通道','G通道','B通道'};
titles2={'R通道灰度图','G通道灰度图','B通道灰度图'};
for i=1:3
    figure,subplot(1,2,1)
    heatmap(s2(:,:,i),'title',titles1(i))
    subplot(1,2,2),imshow(s2(:,:,i)),title(titles2(i))
end

2、平滑型热力图(Smooth-type thermal diagram)

Ⅰ、多峰函数(Multimodal function)

同一个颜色代表同样的函数值

x=linspace(-10,10,2000);
y=x;
z=meshgrid(x,y);
for i=1:size(x,2)
    for j=1:size(x,2)
        z(i,j)=func3([x(i),y(j)]);
    end
end
mesh(x,y,z);
colormap('jet');

function v=func3(x)
v=((1*cos((1+1).*x(1)+1))+(2*cos((2+1).*x(1)+2))+(3*cos((3+1).*x(1)+3))+...
       (4*cos((4+1).*x(1)+4))+(5*cos((5+1).*x(1)+5))).*((1*cos((1+1).*x(2)+1))+...
       (2*cos((2+1).*x(2)+2))+(3*cos((3+1).*x(2)+3))+(4*cos((4+1).*x(2)+4))+(5*cos((5+1).*x(2)+5)));
end

Ⅱ、earth

 

[x,y,z]=sphere(1000);
mesh(6371*x,6371*y,6371*z);
title('平滑热力图地球')
colormap('jet');grid on

Reference article

热力图是什么?有什么用?

  • 12
    点赞
  • 99
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
热力图(Heatmap)是一种用颜色编码来表示数据矩阵的图表。在Matlab中,可以使用heatmap函数来创建热力图热力图可以用于可视化数据的相关性、分布或者其他特征。例如,可以使用热力图来显示不同地区的温度分布、相关系数矩阵的热力图等。 在Matlab中创建热力图的方法有多种。可以使用随机矩阵来创建一个简单的热力图,如下所示: ``` x = rand(50, 50); heatmap(x, 'title', '表格型热力图50*50随机矩阵'); colormap('cool'); ``` 这段代码会生成一个50x50的随机矩阵,并将其显示为一个热力图热力图的颜色使用了'cool'色图。 另外,还可以使用已有的数据矩阵来创建热力图。例如,可以使用相关系数矩阵来创建一个相关性热力图,如下所示: ``` load('p.mat'); correlationmatrix = corrcoef(p); labels = {'15-64比率', '>65比率', '自然增长率', 'GDP', '医院数'}; h = heatmap(labels, labels, correlationmatrix, 'Title', '表格型热力图相关系数矩阵'); colormap('jet'); ``` 这段代码会加载一个名为'p.mat'的数据文件,计算相关系数矩阵,并将其显示为一个热力图热力图的行和列标签使用了指定的标签,颜色使用了'jet'色图。 总之,Matlab提供了丰富的函数和选项来创建和自定义热力图,可以根据具体需求选择合适的方法和参数。 #### 引用[.reference_title] - *1* *2* *3* [热力图Thermodynamic diagram绘制MATLAB代码详解](https://blog.csdn.net/m0_73804671/article/details/129541017)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

阿白啥也不会

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

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

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

打赏作者

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

抵扣说明:

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

余额充值