本期,我们来学习Seaborn中的Heatmap热力图。heatmap是一种用于展示矩阵数据的热图。热图通过颜色的变化来表示数据值的大小,非常适合用来展示数据表、相关性矩阵、聚类结果等。
一、mpg数据集中各列数据之间的关系heatmap图
#先把所有数据列选出来num_cols = list(df.select_dtypes(include='number'))#print(num_cols)fig = plt.figure(figsize=(12,7))#画出热力图sns.heatmap(data=df[num_cols].corr(), annot=True,cmap=sns.cubehelix_palette(as_cmap=True))plt.title('各列数据之间的关系热力图')plt.show()
从热力图中,我们可以观察到一系列高度相关的特征:
- 重量(weight)与气缸数量(cylinders)、排量(displacement)和马力(horsepower)呈正相关,对应图中格子里的数据为正数;
- 油耗(mpg)与重量(weight)、马力(horsepower)、排量(displacement)和气缸数量(cylinders)呈负相关,对应图中格子里的数据为负数。
这与我们日常使用汽车的感受是一致的
二、heatmap的一些参数
Seaborn的heatmap函数提供了许多参数来自定义热图的外观,例如:
- annot:在每个单元格中显示数据值。
- cmap:指定颜色映射(colormap)。
- linewidths:单元格之间的线宽。
- linecolor:单元格边框的颜色。
- vmin 和 vmax:颜色映射的最小值和最大值。
比如,我们在上面的图中加上格子边框linewidths=0.5,看看效果。
或者,换个颜色看看,cmap="crest",vmin=0.1, vmax=0.6。
当然,了解更多关于Seaborn中heatmap请参考官方文档: