700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 热力图(Thermodynamic diagram)绘制MATLAB代码详解

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

时间:2020-07-19 03:44:11

相关推荐

热力图(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)

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

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

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

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

Ⅱ、Thermal diagram of Spongebaby

这是原图。

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

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

figures1=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*50s3=rgb2gray(s2);titles1={'R通道','G通道','B通道'};titles2={'R通道灰度图','G通道灰度图','B通道灰度图'};for i=1:3figure,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)]);endendmesh(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

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。