- Seaborn 教程
- Seaborn - 首页
- Seaborn - 简介
- Seaborn - 环境设置
- 导入数据集和库
- Seaborn - 图形美观
- Seaborn - 调色板
- Seaborn - 直方图
- Seaborn - 核密度估计
- 可视化成对关系
- Seaborn - 绘制分类数据
- 观测值的分布
- Seaborn - 统计估计
- Seaborn - 绘制宽格式数据
- 多面板分类图
- Seaborn - 线性关系
- Seaborn - Facet Grid
- Seaborn - Pair Grid
- 函数参考
- Seaborn - 函数参考
- Seaborn 有用资源
- Seaborn - 快速指南
- Seaborn - 有用资源
- Seaborn - 讨论
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()
输出
示例 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()
输出
示例 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()
输出
示例 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()
输出
运行上述代码行后获得的图如下所示: