热力图(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年里的夏季气温绘制成的热力图。热力图(Thermodynamic diagram)绘制MATLAB代码详解_第1张图片

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

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

热力图(Thermodynamic diagram)绘制MATLAB代码详解_第2张图片

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

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

热力图(Thermodynamic diagram)绘制MATLAB代码详解_第3张图片

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

Ⅱ、Thermal diagram of  Spongebaby

        这是原图。热力图(Thermodynamic diagram)绘制MATLAB代码详解_第4张图片

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

热力图(Thermodynamic diagram)绘制MATLAB代码详解_第5张图片

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

热力图(Thermodynamic diagram)绘制MATLAB代码详解_第6张图片

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即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是运用最广的颜色系统之一。

热力图(Thermodynamic diagram)绘制MATLAB代码详解_第7张图片

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)

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

热力图(Thermodynamic diagram)绘制MATLAB代码详解_第8张图片

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

热力图(Thermodynamic diagram)绘制MATLAB代码详解_第9张图片

 

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

Reference article

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

你可能感兴趣的:(matlab,开发语言)