跳到主要内容
极客日志极客日志
首页博客AI提示词GitHub精选代理工具
搜索
|注册
博客列表
PythonAI算法

Python 数据可视化:Seaborn 聚类热图

综述由AI生成Seaborn 库中的 clustermap 函数用于创建聚类热图,将样本按相似性聚类并以矩阵形式展示。支持行/列聚类、距离度量方法选择及颜色映射自定义。通过 iris 数据集演示了基础用法、布局调整、标签添加、颜色映射更换及标准化处理等场景,帮助直观理解数据间的相似性和差异性。

Eee_123发布于 2026/3/16更新于 2026/5/517 浏览
Python 数据可视化:Seaborn 聚类热图

clustermap 函数

sns.clustermap 是 Seaborn 库中用于创建聚类热图的函数,该函数能够将数据集中的样本按照相似性进行聚类,并将聚类结果以矩阵的形式展示出来。

该函数主要用于绘制聚类热图,通过颜色深浅来表示数据值的大小或类别,从而直观地展示数据间的相似性和差异性。在聚类热图中,每个样本被表示为一个方块,方块的颜色表示样本的特征值,方块的位置表示样本的聚类结果。

使用 sns.clustermap 需要注意数据集的大小和复杂性,因为聚类分析可能需要较长的计算时间。可以根据需要对聚类热图进行进一步的自定义,如设置颜色映射、调整标签等。sns.clustermap 函数返回的是一个 ClusterGrid 对象,该对象包含了热图和聚类树等组件,可以通过该对象进行进一步的自定义和修改。

主要参数

  • data:输入的数据集,可以是 Pandas DataFrame 或 NumPy 数组。
  • row_cluster:布尔值,控制是否对行进行聚类。默认为 True。
  • col_cluster:布尔值,控制是否对列进行聚类。默认为 True。
  • metric:字符串或可调用对象,指定聚类时使用的距离度量方法。默认为'euclidean'。
  • method:字符串,指定聚类时使用的算法。默认为'average'。
  • standard_scale:布尔值或整数,控制是否对数据进行标准化处理。如果为 True,则按行进行标准化;如果为整数 n,则按前 n 个主成分进行标准化。默认为 None,不进行标准化处理。
  • z_score:整数或布尔值,控制是否按行列计算 z 分数进行标准化。如果为整数 n,则按前 n 个主成分进行 z 分数标准化;如果为 True,则对整个数据集进行 z 分数标准化。默认为 None,不进行 z 分数标准化处理。
  • cmap:字符串或 Colormap 对象,指定热图使用的颜色映射方案。默认为 Seaborn 的默认颜色映射方案。

参考实现

使用行和列聚类

import seaborn as sns

# 加载 iris 数据集
iris = sns.load_dataset("iris")
# 将 species 列从 iris 数据集中弹出,并赋值给 species 变量
species = iris.pop("species")
# 使用 seaborn 库中的 clustermap 函数,对 iris 数据集进行聚类分析
sns.clustermap(iris)

聚类结果

更改图片的大小和布局

sns.clustermap(
    iris,
    figsize=(7, 5),
    row_cluster=False,
    dendrogram_ratio=(.1, .2),
    cbar_pos=(0, .2, .03, .4)
)

布局调整

为数据添加彩色标签

# 创建一个字典,将 species 中的唯一值映射到"rbg"中的颜色
lut = dict(zip(species.unique(), "rbg"))
# 将 species 中的值映射到 lut 中的颜色
row_colors = species.map(lut)
# 使用 seaborn 的 clustermap 函数绘制聚类图,并将 species 的颜色映射到行颜色
sns.clustermap(iris, row_colors=row_colors)

彩色标签

使用不同的颜色映射

# 使用 seaborn 库中的 clustermap 函数绘制聚类热图
# iris 为数据集,cmap 为颜色映射,vmin 和 vmax 为颜色映射的最小值和最大值
sns.clustermap(iris, cmap="mako", vmin=0, vmax=10)

颜色映射

使用不同的聚类参数

# 使用 seaborn 库中的 clustermap 函数,对 iris 数据集进行聚类分析
# metric 参数指定聚类时使用的距离度量方式,这里使用相关系数
# method 参数指定聚类时使用的聚类方法,这里使用单链接法
sns.clustermap(iris, metric="correlation", method="single")

不同聚类参数

按照标准化的数据绘图

# 使用 seaborn 库中的 clustermap 函数对 iris 数据集进行聚类分析,并将标准化后的数据绘制成热图
sns.clustermap(iris, standard_scale=1)

标准化绘图

以 0 为均值进行规范化

# 使用 seaborn 库中的 clustermap 函数绘制聚类热图
# iris 为数据集,z_score 为 0 表示不进行标准化,cmap 为"vlag"表示使用 vlag 颜色映射,center 为 0 表示将数据集中的数值中心化
sns.clustermap(iris, z_score=0, cmap="vlag", center=0)

均值规范化

目录

  1. clustermap 函数
  2. 主要参数
  3. 参考实现
  4. 使用行和列聚类
  5. 加载 iris 数据集
  6. 将 species 列从 iris 数据集中弹出,并赋值给 species 变量
  7. 使用 seaborn 库中的 clustermap 函数,对 iris 数据集进行聚类分析
  8. 更改图片的大小和布局
  9. 为数据添加彩色标签
  10. 创建一个字典,将 species 中的唯一值映射到"rbg"中的颜色
  11. 将 species 中的值映射到 lut 中的颜色
  12. 使用 seaborn 的 clustermap 函数绘制聚类图,并将 species 的颜色映射到行颜色
  13. 使用不同的颜色映射
  14. 使用 seaborn 库中的 clustermap 函数绘制聚类热图
  15. iris 为数据集,cmap 为颜色映射,vmin 和 vmax 为颜色映射的最小值和最大值
  16. 使用不同的聚类参数
  17. 使用 seaborn 库中的 clustermap 函数,对 iris 数据集进行聚类分析
  18. metric 参数指定聚类时使用的距离度量方式,这里使用相关系数
  19. method 参数指定聚类时使用的聚类方法,这里使用单链接法
  20. 按照标准化的数据绘图
  21. 使用 seaborn 库中的 clustermap 函数对 iris 数据集进行聚类分析,并将标准化后的数据绘制成热图
  22. 以 0 为均值进行规范化
  23. 使用 seaborn 库中的 clustermap 函数绘制聚类热图
  24. iris 为数据集,z_score 为 0 表示不进行标准化,cmap 为"vlag"表示使用 vlag 颜色映射,center 为 0 表示将数据集中的数值中心化
  • 💰 8折买阿里云服务器限时8折了解详情
  • GPT-5.5 超高智商模型1元抵1刀ChatGPT中转购买
  • 代充Chatgpt Plus/pro 帐号了解详情
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Python 魔法方法与数据模型深度解析
  • JavaScript 能否同时胜任前后端开发
  • Android 平台运行 ONNX 模型指南
  • Java SpringBoot+Vue3+MyBatis 校园资产管理系统设计与实现
  • OpenClaw Zero Token 深度解析:浏览器自动化实现大模型免 Token 调用
  • C++ 图论实战:深入理解三种经典最短路径算法
  • 前端动画库选型指南:CSS、Framer Motion、GSAP 与 React Spring
  • 文心大模型 4.5 系列技术解析与应用指南
  • HTML 基础语法与常用标签详解
  • 2024 年中国生成式人工智能应用与实践展望白皮书
  • Vitis AI 推理加速实战:从零实现 FPGA 部署
  • Qwen3-VL-WEBUI 备份恢复与灾难应对部署
  • AI 在医疗领域的十大应用场景
  • Python 3.14 环境下 PyAudio 安装全指南:解决兼容性与依赖问题
  • MySQL 数据类型详解与选型最佳实践
  • 深入理解 Java Stream 流:原理、性能与最佳实践
  • 优先队列核心原理与经典算法题实战
  • AI Agent 架构:基础组成模块深度解析
  • 基于 Go 语言构建高性能命令行 AI 对话客户端
  • 鸿蒙金融理财全栈项目:生态合作、用户运营与数据变现

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online