聚类热图可以简单理解为:使用距离算法将距离相近的东西成簇聚为一类。
本篇使用python中seaborn.clustermap绘制聚类热图(clustermap)。

本文将了解到什么?

欢迎随缘关注@pythonic生物人

1、成品聚类热图(clustermap)展示
2、绘图数据集准备
3、 seaborn.clustermap绘制聚类热图(clustermap)
3.0 聚类热图函数seaborn.clustermap语法
3.1 默认参数绘图
3.2 pivot_kws:辅助选择data中某一部分数据绘图
3.3 method:聚类算法
3.4 metric:簇之间距离选择
3.5 figsize:热图的宽和高设置
3.6 cbar_kws:图例设置
3.7 row_cluster、col_cluster:行列聚类开关
3.8 row_colors: y轴方向绘制分类色条
3.9 col_colors: x轴方向绘制分类色条
3.10 cbar_pos:图例位置、宽、高设置
3.11 tree_kws:各个簇之间连线特性设置
3.12 cmap:热图填充色colormap设置
3.13 annot、annot_kws:显示文本、文本属性设置
3.14 其它参数设置


1、成品聚类热图(clustermap)展示


2、绘图数据集准备

依旧使用sklearn中鸢尾花iris数据集,数据集详细介绍请戳:鸢尾花iris数据集详细介绍

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from pandas import Series,DataFrame
import seaborn as sns
import palettableplt.rcParams['font.sans-serif']=['SimHei']  # 用于显示中文
plt.rcParams['axes.unicode_minus'] = False  # 用于显示中文from sklearn import datasets
iris=datasets.load_iris()
x, y = iris.data, iris.target
pd_iris = pd.DataFrame(np.hstack((x, y.reshape(150, 1))),columns=['sepal length(cm)','sepal width(cm)','petal length(cm)','petal width(cm)','class'] )

查看数据集前五行

pd_iris.head()

数据集简单统计

pd_iris.describe()


3、 seaborn.clustermap绘制聚类热图(clustermap)

3.0 聚类热图函数seaborn.clustermap语法

seaborn.clustermap(data, pivot_kws=None, method='average', metric='euclidean', z_score=None, standard_scale=None, figsize=(10, 10), cbar_kws=None, row_cluster=True, col_cluster=True, row_linkage=None, col_linkage=None, row_colors=None, col_colors=None, mask=None, dendrogram_ratio=0.2, colors_ratio=0.03, cbar_pos=(0.02, 0.8, 0.05, 0.18), tree_kws=None, **kwargs)

3.1 默认参数绘图

plt.figure(dpi=200)
sns.clustermap(data=pd_iris,#仅仅需传入绘图数据集)

3.2 pivot_kws:辅助选择data中某一部分数据绘图

  • 改参数使用可参考:https://cmdlinetips.com/2020/01/heatmaps-with-seaborns-clustermap/

3.3 method:聚类算法

默认为为average算法,可选’single’,’complete’ ,’weighted’,’centroid’,’median’;各算法区别请参考scipy中:scipy.cluster.hierarchy.linkage

sns.clustermap(data=pd_iris,method='average',#'average'算法)

#注意观察y轴方向值的变化
sns.clustermap(data=pd_iris,method='single',#'single'算法)

sns.clustermap(data=pd_iris,method='weighted',#'weighted'算法)

3.4 metric:簇之间距离选择

默认为欧式距离euclidean,可选距离: ‘braycurtis’, ‘canberra’, ‘chebyshev’, ‘cityblock’, ‘correlation’, ‘cosine’, ‘dice’,
‘euclidean’, ‘hamming’, ‘jaccard’, ‘jensenshannon’, ‘kulsinski’, ‘mahalanobis’, ‘matching’, ‘minkowski’,
‘rogerstanimoto’, ‘russellrao’, ‘seuclidean’, ‘sokalmichener’, ‘sokalsneath’, ‘sqeuclidean’, ‘yule’.各个距离之间区别,scipy中有详细介绍:scipy.spatial.distance.pdist

sns.clustermap(data=pd_iris,metric='euclidean',#欧式距离'euclidean')

#注意右侧值的变化
sns.clustermap(data=pd_iris,metric='braycurtis',#Bray-Curtis距离)

3.5 figsize:热图的宽和高设置

sns.clustermap(data=pd_iris,figsize=(5, 10),            )

3.6 cbar_kws:图例设置

方法类似普通heatmap,不赘述,参考: 热图图例详细设置

3.7 row_cluster、col_cluster:行列聚类开关

sns.clustermap(data=pd_iris,row_cluster=False, #行方向不聚类col_cluster=True, #列方向聚类)

3.8 row_colors: y轴方向绘制分类色条

#左侧颜色条
row_c = dict(zip(pd_iris['class'].unique(), ['green','yellow','pink']))
sns.clustermap(data=pd_iris,row_colors=pd_iris['class'].map(row_c), #行方向聚类用颜色区分不同类               )

3.9 col_colors: x轴方向绘制分类色条

3.10 cbar_pos:图例位置、宽、高设置

sns.clustermap(data=pd_iris,cbar_pos=(0.02, 0.8, 0.05, 0.18), #(left, bottom, width, height))

#图例向右,向下移动
sns.clustermap(data=pd_iris,cbar_pos=(0.12, 0.4, 0.05, 0.18), )

3.11 tree_kws:各个簇之间连线特性设置

线型设置参考:python中line属性设置

sns.clustermap(data=pd_iris,tree_kws={'linestyles':'dashed',#线型'colors':'steelblue',#线色'linewidths':2},#线宽 )

3.12 cmap:热图填充色colormap设置

colormap设置参考:python中colormap详细设置

3.13 annot、annot_kws:显示文本、文本属性设置

sns.clustermap(data=pd_iris,annot=True,#默认为False,当为True时,在每个格子写入data中数据figsize=(15, 30),#热图宽和高annot_kws={'size':12,'weight':'normal', 'color':'red'},#设置格子中文本的大小、粗细、颜色cmap=palettable.cartocolors.diverging.ArmyRose_7.mpl_colors,)
sns.set(font_scale=1.5)#热图及color bar中刻度标签值字号

3.14 其它参数设置

普通heatmap中方法 :heatmap关键参数详解


参考资料

http://seaborn.pydata.org/examples/structured_heatmap.htmlhttp://seaborn.pydata.org/generated/seaborn.clustermap.html#seaborn.clustermap


本篇结束,下一篇介绍相关性热图

欢迎随缘关注@pythonic生物人

聚类热图分类注释_Python可视化matplotlibamp;seborn15-聚类热图clustermap(建议收藏)...相关推荐

  1. python画相关性可视化图_Python可视化matplotlibseborn16-相关性热图

    本文速览普通相关性heatmap聚类相关性heatmap 本文将了解到什么? 1.数据准备 2.seaborn.heatmap绘制correlation heatmap 默认参数绘制correlati ...

  2. python画相关性可视化图_Python可视化16matplotlibseborn-相关性热图(correlation heatmap)...

    本文将了解到什么? 0.成品图展示 1.数据准备 2.seaborn.heatmap绘制correlation heatmap 默认参数绘制correlation heatmap vmax设置颜色深浅 ...

  3. matplotlib 标签_Python可视化matplotlibamp;seborn14热图heatmap

    "pythonic生物人"的第53篇分享. 热力图(heatmap)可通过颜色深浅变化,优雅的展示数据的差异:本篇详细介绍python seaborn绘制热图(手把手讲解). 本文 ...

  4. python 可视化饼图_Python可视化学习(饼状图,坐标系...)

    写在前面的话 01 今天资源君带大家学习一下Python的可视化,何谓可视化呢?我们常常听说Python的数据分析,数据分析中很重要的一个就是将数据展示出来,如何展示出来呢?这就得靠我们的Python ...

  5. python爬取微博热搜写入数据库_python爬虫爬取微博热搜

    [实例简介] [实例截图] [核心代码] import requests                #数据抓取库 from lxml import etree         #数据解析库 imp ...

  6. python雷达图详解_Python基础教程 - matplotlib实现雷达图和柱状图

    原标题:Python基础教程 - matplotlib实现雷达图和柱状图 Python基础教程记录 - 使用matplotlib实现雷达图和柱状图. 注:主要是设置add_subplot(133),分 ...

  7. python爬取微博热搜写入数据库_python实现爬取微博热搜存入Mysql

    python爬取微博热搜存入Mysql最终的效果 使用的库 目标分析 一:得到数据 二:链接数据库 总代码 最终的效果 废话不多少,直接上图 这里可以清楚的看到,数据库里包含了日期,内容,和网站lin ...

  8. Python可视化应用实战-三万字长文(建议收藏)matplotlib可视化实例,实操有效

    前言 以下是我为大家准备的几个精品专栏,喜欢的小伙伴可自行订阅,你的支持就是我不断更新的动力哟! MATLAB-30天带你从入门到精通 MATLAB深入理解高级教程(附源码) tableau可视化数据 ...

  9. 「基于GNN的图分类研究」最新2022综述

    图数据广泛存在于现实世界中, 可以自然地表示复合对象及其元素之间的复杂关联. 对图数据的分类是一 个非常重要且极具挑战的问题, 在生物/化学信息学等领域有许多关键应用, 如分子属性判断, 新药发现等. ...

最新文章

  1. python的代码编译、代码打包方法
  2. 常用于生产部署方式详解 灰度发布 滚动发布 蓝绿发布
  3. C语言函数——常用数学函数
  4. J2EE 第二阶段项目之编写代码(六)
  5. PAT_B_1040_Java(25分)
  6. 带头尾指针的list的C实现
  7. Flutter CupertinoSegmentedControl 分段组件
  8. python %s用法
  9. 新浪微博开放平台链接耗尽的情况分析
  10. 毕业题目:Matlab GUI界面
  11. tensorflow cnn文本分类
  12. Tumblr技术架构
  13. windows10去桌面图标小箭头和恢复小箭头
  14. 1.3 熟悉 Ubuntu 桌面环境
  15. Hadoop3.2.1 【 YARN 】源码分析 : NodeStatusUpdaterImpl概述
  16. 数据库系统概论——数据库安全性控制
  17. Django网站开发 01.Web网站与前端HTML标签
  18. Kubernetes系列教程(二)---集群网络之Flannel核心原理
  19. 计算活跃度、次留、三留、七留、次留率、三留率、七留率
  20. 软件测试复习与几道常见题型

热门文章

  1. 2010年,您还不“工作流”吗?
  2. 计算机指令就是一串开关吗,什么是非法关机?常按计算机开关,还是直接拔掉电源插头才算啊?...
  3. 微课|中学生可以这样学Python(例5.3):报数游戏
  4. 使用Python+pillow绘制矩阵盖尔圆
  5. 使用Python对图像进行中值滤波
  6. PHP三年15K,程序员月薪15K相亲三年才成功,被拒理由:这个薪资提鞋都嫌弃
  7. 网络 计算机网络预备知识
  8. 防仿百度图片背景色php,基于jQuery实现仿百度首页换肤背景图片切换代码_jquery...
  9. python二进制反码例题_python中的进制转换和原码,反码,补码
  10. 计算机二级知识点速记,计算机等考《二级MS+Office高级应用》高频考点速记