0.12.0.dev0
  • Gallery
  • Tutorial
  • API
  • Site
      • 发行说明
      • 安装
      • 示例库
      • 教程
      • API引用
      • 引用
      • 档案文件
  • Page
      • seaborn.clustermap

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)¶

将矩阵数据集绘制为分层聚集的热图。

此函数要求scipy可用。

参数
data二维数组

用于聚类的矩形数据。不能包含NAs。

pivot_kws可选的

如果 data 是一个整洁的数据框,可以提供关键字参数为pivot创建一个矩形的数据框。

method可选的STR

用于计算簇的链接方法。看到了吗 scipy.cluster.hierarchy.linkage() 有关详细信息的文档。

metric可选的STR

用于数据的距离度量。看到了吗 scipy.spatial.distance.pdist() 有关更多选项的文档。要对行和列使用不同的度量(或方法),您可以自己构造每个链接矩阵,并将它们作为 {{row,col}}_linkage .

z_scoreint或none,可选

0(行)或1(列)。是否计算行或列的z分数。Z得分是:Z=(x-平均值)/std,因此每行(列)中的值将得到行(列)的平均值减去,然后除以行(列)的标准差。这确保每一行(列)的平均值为0,方差为1。

standard_scaleint或none,可选

0(行)或1(列)。是否标准化该维度,即每行或每列减去最小值,再除以最大值。

figsize元组(宽度、高度),可选

图形的总体大小。

cbar_kws可选的

要传递给的关键字参数 cbar_kws 在里面 heatmap() ,例如,向颜色栏添加标签。

{row,col}_cluster可选的布尔

If True, cluster the {rows, columns}.

{{row,col}}_linkage : numpy.ndarray 可选努比·恩达雷,可选

行或列的预计算链接矩阵。看到了吗 scipy.cluster.hierarchy.linkage() 对于特定格式。

{row,col}_colors列表式或熊猫式数据帧/系列,可选

要为行或列添加标签的颜色列表。用于评估组中的样本是否聚集在一起。可以使用嵌套列表或数据框进行多个颜色级别的标签。如果作为 pandas.DataFrame 或 pandas.Series ,颜色的标签从DataFrames列名或序列名称中提取。数据帧/序列颜色也通过其索引与数据匹配,确保以正确的顺序绘制颜色。

mask布尔数组或数据帧,可选

如果传递,数据将不会显示在 mask 这是真的。缺少值的单元格将被自动屏蔽。仅用于可视化,不用于计算。

{dendrogram,colors}_ratio浮点数或浮点数对,可选

用于两个边缘元素的图形大小的比例。如果给定一对,则它们对应于(行、列)比率。

cbar_pos元组(左、下、宽、高),可选

图中颜色条轴的位置。设置为 None 将禁用颜色栏。

tree_kws可选的

的参数 matplotlib.collections.LineCollection 用于绘制树状图树的线条。

kwargs其他关键字参数

所有其他关键字参数都传递给 heatmap() .

返回
ClusterGrid

A ClusterGrid 实例。

参见

heatmap

将矩形数据绘制为颜色编码矩阵。

笔记

返回的对象具有 savefig 方法,如果要保存地物对象而不剪裁树状图,则应使用该方法。

要访问重新排序的行索引,请使用: clustergrid.dendrogram_row.reordered_ind

列索引,使用: clustergrid.dendrogram_col.reordered_ind

实例

绘制聚集热图:

>>> import seaborn as sns; sns.set_theme(color_codes=True)
>>> iris = sns.load_dataset("iris")
>>> species = iris.pop("species")
>>> g = sns.clustermap(iris)
../_images/seaborn-clustermap-1.png

更改图形的大小和布局:

>>> g = sns.clustermap(iris,
...                    figsize=(7, 5),
...                    row_cluster=False,
...                    dendrogram_ratio=(.1, .2),
...                    cbar_pos=(0, .2, .03, .4))
../_images/seaborn-clustermap-2.png

添加彩色标签以识别观察结果:

>>> lut = dict(zip(species.unique(), "rbg"))
>>> row_colors = species.map(lut)
>>> g = sns.clustermap(iris, row_colors=row_colors)
../_images/seaborn-clustermap-3.png

使用不同的颜色映射并调整颜色范围的限制:

>>> g = sns.clustermap(iris, cmap="mako", vmin=0, vmax=10)
../_images/seaborn-clustermap-4.png

使用不同的相似性度量:

>>> g = sns.clustermap(iris, metric="correlation")
../_images/seaborn-clustermap-5.png

使用不同的聚类方法:

>>> g = sns.clustermap(iris, method="single")
../_images/seaborn-clustermap-6.png

标准化列中的数据:

>>> g = sns.clustermap(iris, standard_scale=1)
../_images/seaborn-clustermap-7.png

规范化行中的数据:

>>> g = sns.clustermap(iris, z_score=0, cmap="vlag")
../_images/seaborn-clustermap-8.png

Back to top

© Copyright 2012-2021, Michael Waskom. 构建基于 Sphinx 3.4.1.