seaborn矩阵图组合图---热力图heatmap、聚类图clustermap

1.热力图heatmap

1
seaborn.heatmap(data, vmin=None, vmax=None, cmap=None, center=None, robust=False, annot=None, fmt='.2g', annot_kws=None, linewidths=0, linecolor='white', cbar=True, cbar_kws=None, cbar_ax=None, square=False, xticklabels='auto', yticklabels='auto', mask=None, ax=None, **kwargs)

方法:用颜色矩阵去显示数据在两个维度下的度量值

参数:

  • data : 要显示的数据
1
ax = sns.heatmap(data)
  • vmin, vmax : 显示的数据值的最大和最小的范围
1
ax = sns.heatmap(data,vmin=0, vmax=1)
  • cmap : matplotlib颜色表名称或对象,或颜色列表,可选从数据值到色彩空间的映射。如果没有提供,默认设置
1
ax = sns.heatmap(data,vmin=0, vmax=1, cmap = 'GnBu')
  • center : 指定色彩的中心值
1
ax = sns.heatmap(data,vmin=0, vmax=1, cmap = 'GnBu', center=0.7)
  • robust : 如果“Ture”和“ vmin或” vmax不存在,则使用强分位数计算颜色映射范围,而不是极值。
1
2
ax = sns.heatmap(data,vmin=0, vmax=1, cmap = 'GnBu', center=0.5,
                 robust=False) #Set1
  • annot : 如果为True,则将数据值写入每个单元格中
1
2
ax = sns.heatmap(data,vmin=0, vmax=1, cmap = 'GnBu', center=0.5,
                 robust=False,annot=True) #Set1
  • fmt : 表格里显示数据的类型
1
2
3
fmt ='.0%'#显示百分比
fmt ='f' 显示完整数字 = fmt ='g'
fmt ='.3'显示小数的位数 = fmt ='.3f' = fmt ='.3g'
  • annot_kws : 键,值映射的dict,可选
  • linewidths : 划分每个单元格的线的宽度。
  • linecolor : 划分每个单元格的线的颜色。
  • cbar : 是否绘制颜色条:colorbar,默认绘制
  • cbar_kws : 未知 cbar_ax : 显示x-y坐标,而不是节点的编号
  • square : 为‘True’时,整个网格为一个正方形
  • xticklabels, yticklabels : 可以以字符串进行命名,也可以调节编号的间隔,也可以不显示坐标
1
2
3
ax = sns.heatmap(uniform_data,cmap = 'RdBu', center=0,cbar = True, square = False,xticklabels =['12','22'])#字符串命名
ax = sns.heatmap(uniform_data,cmap = 'RdBu', center=0,cbar = True, square = False,xticklabels =2)#编号间隔为2
ax = sns.heatmap(uniform_data,cmap = 'RdBu', center=0,cbar = True, square = False,xticklabels =False)#不显示坐标

举例:

1
2
3
4
5
6
plt.figure(figsize = (12,6))
corr_values = data.corr()
sns.heatmap(corr_values, annot=True,vmax=1, square=True, cmap="Blues",fmt='.2f')
plt.tight_layout()
plt.savefig('heatmap.png',dpi=600)
plt.show()

 

2.聚类图clustermap

1
seaborn.clustermap(data, pivot_kws=None, method='average', metric='euclidean', z_score=None, standard_scale=None, figsize=None, cbar_kws=None, row_cluster=True, col_cluster=True, row_linkage=None, col_linkage=None, row_colors=None, col_colors=None, mask=None, **kwargs)
  • 除此之外,clustermap 支持绘制层次聚类结构图。如下所示,我们先去掉原数据集中最后一个目标列,传入特征数据即可。当然,你需要对层次聚类有所了解,否则很难看明白图像多表述的含义。
  • seaborn.clustermap

举例:

1
2
iris.pop("species")
sns.clustermap(iris)

 

 

参考文献:

【1】python3.x-seaborn.heatmap随笔

【2】中文官网

posted @   nxf_rabbit75  阅读(6238)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
1.热力图heatmap2.聚类图clustermap
点击右上角即可分享
微信分享提示