目录
1.表格型热力图(Tabular thermal diagram)
Ⅰ、相关系数矩阵热力图( Thermal diagram of correlation coefficient matrix)
Ⅱ、Thermal diagram of Spongebaby
2、平滑型热力图(Smooth-type thermal diagram)
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