Skip to content

seaborn.clustermap

译者:cancan233

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)

将矩阵数据集绘制成分层聚类热图。

参数:data:2D array-like

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

pivot_kws:字典,可选。

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

method:字符串,可选。

用于计算聚类的链接方法。有关更多信息,请参阅文档 scipy.cluster.hierarchy.linkage https://docs.scipy.org/doc/scipy/reference/generated/scipy.cluster.hierarchy.linkage.html

metric:字符串,可选。

用于数据的距离度量。有关更多选项,请参阅 scipy.spatial.distance.pdist 文档。 https://docs.scipy.org/doc/scipy/reference/generated/scipy.spatial.distance.pdist.html 要对行和列使用不同的度量(或方法),您可以子集构造每个链接矩阵,并将它们提供为{row, col}_linkage.

z_score:int 或 None,可选。

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

standard_scale:int 或 None, 可选。

0(行)或 1(列)。是否标准化该维度,即每行或每列的含义,减去最小值并将每个维度除以其最大值。

figsize: 两个整数的元组, 可选。

要创建的图形的大小。

cbar_kws:字典, 可选。

要传递给heatmap中的cbar_kws的关键字参数,例如向彩条添加标签。

{row,col}_cluster:布尔值, 可选。

如果为真,则对{rows, columns}进行聚类。

{row,col}_linkage:numpy.array, 可选。

行或列的预计算链接矩阵。有关特定格式,请参阅 scipy.cluster.hierarchy.linkage.

{row,col}_colors:list-like 或 pandas DataFrame/Series, 可选。

要为行或列标记的颜色列表。用于评估组内的样本是否聚集在一起。可以使用嵌套列表或 DataFrame 进行多种颜色级别的标注。如果以 DataFrame 或 Series 形式提供,则从 DataFrames 列名称或 Series 的名称中提取颜色标签。DataFrame/Series 颜色也通过索引与数据匹配,确保以正确的顺序绘制颜色。

mask:布尔数组或 DataFrame, 可选。

如果通过,数据将不会显示在mask为真的单元格中。具有缺失值的单元格将自动被屏蔽。仅用于可视化,不用于计算。

kwargs:其他关键字参数。

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

返回值:clustergrid:ClusterGrid

ClusterGrid 实例。

注意点:

返回的对象有一个savefig方法,如果要保存图形对象而不剪切树形图,则应使用该方法。

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

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

范例

绘制聚类热图。

>>> import seaborn as sns; sns.set(color_codes=True)
>>> iris = sns.load_dataset("iris")
>>> species = iris.pop("species")
>>> g = sns.clustermap(iris)

http://seaborn.pydata.org/_images/seaborn-clustermap-1.png

使用不同的相似性指标。

>>> g = sns.clustermap(iris, metric="correlation")

http://seaborn.pydata.org/_images/seaborn-clustermap-2.png

使用不同的聚类方法。

>>> g = sns.clustermap(iris, method="single")

http://seaborn.pydata.org/_images/seaborn-clustermap-3.png

使用不同的色彩映射并忽略色彩映射限制中的异常值。

>>> g = sns.clustermap(iris, cmap="mako", robust=True)

http://seaborn.pydata.org/_images/seaborn-clustermap-4.png

改变图的大小。

>>> g = sns.clustermap(iris, figsize=(6, 7))

http://seaborn.pydata.org/_images/seaborn-clustermap-5.png

绘制其原始组织中的一个轴。

>>> g = sns.clustermap(iris, col_cluster=False)

http://seaborn.pydata.org/_images/seaborn-clustermap-6.png

添加彩色标签。

>>> lut = dict(zip(species.unique(), "rbg"))
>>> row_colors = species.map(lut)
>>> g = sns.clustermap(iris, row_colors=row_colors)

http://seaborn.pydata.org/_images/seaborn-clustermap-7.png

标准化列中的数据。

>>> g = sns.clustermap(iris, standard_scale=1)

http://seaborn.pydata.org/_images/seaborn-clustermap-8.png

正规化行内数据。

>>> g = sns.clustermap(iris, z_score=0)

http://seaborn.pydata.org/_images/seaborn-clustermap-9.png



回到顶部