一、什么是热图?
二、Matlab怎么画热图?
三、Python怎么画热图?
热图(Heat Map)是一种可视化方式,用于表示二维数据的矩阵,其中不同的数值通过不同颜色的方块或单元格来表示。每个单元格的颜色深浅或者色调会根据数据的值进行相应的变化,使得我们能够直观地观察数据之间的模式和关系。
在热图中,通常使用颜色渐变来表示数值的大小。常见的热图颜色映射包括灰度、彩虹色、红蓝色等。较小的值可以用深色或冷色表示,而较大的值则用浅色或暖色表示。这种颜色的分布可以使得数据的高低、趋势和相关性等特征在视觉上更易于辨别。
热图在数据分析和可视化中非常常见,它可以用于各种领域,如生物学、金融、社会科学、工程等。通过热图,我们可以更好地理解数据之间的关系和规律,发现异常值或者异常模式,并支持决策过程。
% 清除命令窗口和工作区的数据
clc;
clear;
% 创建一个8x8的数据矩阵,表示不同CNC设备之间的关系
data = [ 38,40,16,31,-12,-16,-1,0;
20,0,35,0,12,0,10,0;
0,6,9,10,19,13,28,60;
39,0,31,0,1,0,0,0;
0,30,0,39,0,1,0,0;
1,0,1,17,56,0,12,0;
0,2,60,1,0,56,0,12;
0,19,10,0,12,0,59,0];
% 定义横轴和纵轴的标签,对应CNC设备的名称
xvalues = {'CNC1', 'CNC2', 'CNC3', 'CNC4', 'CNC5', 'CNC6', 'CNC7', 'CNC8'};
yvalues = {'CNC1', 'CNC2', 'CNC3', 'CNC4', 'CNC5', 'CNC6', 'CNC7', 'CNC8'};
% 将yvalues转置为列向量
yvalues = yvalues';
% 创建一个热图对象h,使用redbluecmap颜色映射,并设置行列标签
h = HeatMap(data, 'Colormap', redbluecmap, 'ColumnLabels', yvalues, 'RowLabels', xvalues);
% 在热图中显示数据值
h.Annotate = true;
import seaborn as sns
import matplotlib.pyplot as plt
# 示例数据:这里使用了一个相关系数矩阵作为示例数据
# 替换data为您自己的相关系数矩阵
data = [[38, 40, 16, 31, -12, -16, -1, 0],
[20, 0, 35, 0, 12, 0, 10, 0],
[0, 6, 9, 10, 19, 13, 28, 60],
[39, 0, 31, 0, 1, 0, 0, 0],
[0, 30, 0, 39, 0, 1, 0, 0],
[1, 0, 1, 17, 56, 0, 12, 0],
[0, 2, 60, 1, 0, 56, 0, 12],
[0, 19, 10, 0, 12, 0, 59, 0]]
# 标签,如果需要,可以自定义行和列的标签
row_labels = ['CNC1', 'CNC2', 'CNC3', 'CNC4', 'CNC5', 'CNC6', 'CNC7', 'CNC8']
col_labels = ['CNC1', 'CNC2', 'CNC3', 'CNC4', 'CNC5', 'CNC6', 'CNC7', 'CNC8']
# 设置风格(可选)
sns.set(style="white")
'''
"darkgrid":深色网格风格,背景为深色,有网格线。
"whitegrid":白色网格风格,背景为白色,有网格线。
"dark":深色风格,背景为深色,无网格线。
"white":白色风格,背景为白色,无网格线。
"ticks":坐标轴刻度风格,有刻度线但没有网格线。'''
# 绘制热图
sns.heatmap(data, annot=True, cmap="summer", xticklabels=col_labels, yticklabels=row_labels)
# 显示图形
plt.show()