Seaborn.clustermap() 方法



Seaborn.clustermap() 方法用于将数据集绘制为分层聚类的热图。

聚类图是一种交互式地图,当绘制的太多数据点过于靠近彼此,导致难以确定变化并从给定数据中得出结论时,它非常有用。它也被称为气泡图,用于衡量不同位置的集群的性能、大小和存在。

语法

以下是 seaborn.clustermap() 方法的语法:


参数

下面讨论了 seaborn.clustermap() 方法的一些参数。

序号 名称和描述
1 数据

它接受矩形数据集作为输入。一个可以强制转换为二维数据集的 ndarray。如果提供 Pandas DataFrame,则将使用索引和列信息为列和行添加标签。

2 Vmin,vmax

此可选参数接受浮点值作为输入,这些值用作颜色映射锚点;否则,将使用数据和其他关键字参数来推断它们。

3 Cmap

此可选参数接受 matplotlib 颜色或颜色列表作为输入。它执行将数据值转换为颜色空间的转换。如果未指定,默认值将取决于是否设置了中心。

4 度量

接受字符串值,并确定用于计算集群的链接方法。

5 掩码

接受布尔数组或 DataFrame,是一个可选参数。如果传递,则在 mask 为 True 的单元格中不会显示数据。

6 Standard_scale

此可选参数接受整数值,一行或一列。传递的值确定是否标准化该维度,这需要将每一行或每一列的最大值除以其最小值。

7 {row,col}_cluster

接受布尔值,如果传递 True,则对 {row,column} 进行聚类。

8 {row,col}_linkage

接受 numpy.ndarray 作为输入,并使用此获取行或列的预计算链接矩阵。

9 cbar

接受布尔值,并确定是否绘制颜色条。

返回值

此方法返回一个 ClusterGrid 实例。

加载 seaborn 库

在继续开发绘图之前,让我们加载 seaborn 库和数据集。要加载或导入 seaborn 库,可以使用以下代码行。

Import seaborn as sns

加载数据集

在本文中,我们将使用 seaborn 库中内置的 flights 数据集。以下命令用于加载数据集。

flights=sns.load_dataset("flights")

以下命令用于查看数据集中前 5 行。这使我们能够了解可以使用哪些变量来绘制图形。

flights.head()

以下是上述代码段的输出。

index,year,passengers
0,1949,112
1,1949,118
2,1949,132
3,1949,129
4,1949,121

现在我们已经加载了数据集,我们将探索一些示例。

示例 1

我们使用上面提到的 flights 数据集,并且由于我们要绘制聚类图,因此必须从数据集中弹出分类变量。因此,在这种情况下,month 列被弹出/删除,然后生成聚类图。然后我们将 flights 数据帧以及 figsize 和 cmap 参数传递给 clustermap 函数。figsize 参数确定图的大小参数,cmap 确定图的颜色。

import seaborn as sns
import matplotlib.pyplot as plt
flights=sns.load_dataset("flights")
flights.head()
data=flights.pop('month')
sns.clustermap(flights, cmap='vlag', figsize=(7, 7))
plt.show()

输出

seaborn clustermap method

示例 2

在此示例中,我们将 vmin 和 vmax 参数与 cmap 和数据帧一起传递。Vmax 和 vmin 是可选参数,接受浮点值作为输入,这些值用作颜色映射锚点;否则,将使用数据和其他关键字参数来推断它们。当传递这些参数时,我们将注意到图的变化。

import seaborn as sns
import matplotlib.pyplot as plt
flights=sns.load_dataset("flights")
flights.head()
sns.clustermap(flights, cmap="mako", vmin=0, vmax=1000)
plt.show()

输出

clustermap method

示例 3

Metric 是 seaborn 库中 clustermap() 方法的一个非常有用的参数。它接受字符串值,并确定用于计算集群的链接方法。

在下面的代码中,我们将 flights 数据帧以及 metric 参数传递给 clustermap 函数。metric 参数采用不同的值,在此示例中,我们传递了相关性。

import seaborn as sns
import matplotlib.pyplot as plt
flights=sns.load_dataset("flights")
flights.head()
sns.clustermap(flights, metric="correlation")
plt.show()

输出

clustermap

示例 4

Standard_scale 是另一个常用的参数,在下面的示例中,我们使用此参数并在 flights 数据集上获得聚类图。

standard_scale 是一个可选参数,接受整数值,一行或一列。传递的值确定是否标准化该维度,这需要将每一行或每一列的最大值除以其最小值。

import seaborn as sns
import matplotlib.pyplot as plt
flights=sns.load_dataset("flights")
flights.head()
sns.clustermap(flights, standard_scale=1,cmap="vlag")
plt.show()

输出

运行上述代码行后获得的图如下所示:

seaborn clustermap
seaborn_matrix_plots_introduction.htm
广告