- Seaborn 教程
- Seaborn - 首页
- Seaborn - 简介
- Seaborn - 环境搭建
- 导入数据集和库
- Seaborn - 图形美观
- Seaborn - 调色板
- Seaborn - 直方图
- Seaborn - 核密度估计
- 可视化成对关系
- Seaborn - 绘制分类数据
- 观测值的分布
- Seaborn - 统计估计
- Seaborn - 绘制宽格式数据
- 多面板分类图
- Seaborn - 线性关系
- Seaborn - Facet Grid
- Seaborn - Pair Grid
- 函数参考
- Seaborn - 函数参考
- Seaborn 有用资源
- Seaborn - 快速指南
- Seaborn - 有用资源
- Seaborn - 讨论
Seaborn.pairplot() 方法
Seaborn.pairplot() 方法用于绘制数据集中成对关系。默认情况下,数据集中的每个数值变量将分别沿单个行的 y 轴和单个列的 x 轴展开,这取决于此函数创建的轴网格。
对于对角线上的图,处理方式有所不同,会创建单变量分布图来显示每列数据的边缘分布。
此外,您可以仅显示数据的一部分,或在不同的行和列中绘制其他变量。这个高级 PairGrid 接口旨在简化创建一些流行样式的操作。
语法
以下是 seaborn.pairplot() 方法的语法:
seaborn.pairplot(data, *, hue=None, hue_order=None, palette=None, vars=None, x_vars=None, y_vars=None, kind='scatter', diag_kind='auto', markers=None, height=2.5, aspect=1, corner=False, dropna=False, plot_kws=None, diag_kws=None, grid_kws=None, size=None)
参数
下面讨论了 pairplot() 方法的一些参数。
| 序号 | 名称和描述 |
|---|---|
| 1 | Data 接受数据框,其中每一列是一个变量,每一行是一个观测值。 |
| 2 | hue 指定将在特定网格面上显示的数据部分的变量。要控制此变量的级别顺序,请参考 var order 参数。 |
| 3 | Kind 接受来自 {‘scatter’, ‘kde’, ‘hist’, ‘reg’} 的值,并确定要创建的绘图类型。 |
| 4 | Diag_kind 接受来自 {‘auto’, ‘hist’, ‘kde’, None} 的值,如果使用,则确定对角线子图的绘图类型。如果为 ‘auto’,则根据是否使用 hue 来选择。 |
| 5 | Height 接受标量值,并确定面的高度。 |
| 6 | Aspect 接受标量值,每个面的纵横比,因此 aspect * height 给出每个面的宽度(以英寸为单位)。 |
| 7 | corner 接受布尔值,如果为 True,则不向网格的上三角(非对角线)添加轴,使其成为“角”图。 |
| 8 | hue_order 接受列表作为输入,并由此顺序确定分面变量级别的顺序。 |
在继续绘制之前,让我们加载 seaborn 库和数据集。
加载 seaborn 库
要加载或导入 seaborn 库,可以使用以下代码行。
Import seaborn as sns
加载数据集
在本文中,我们将使用 seaborn 库中内置的 exercise 数据集。以下命令用于加载数据集。
exercise =sns.load_dataset("exercise")
以下命令用于查看数据集中前 5 行。这使我们能够了解可以使用哪些变量来绘制图形。
exercise.head()
以下是上述代码段的输出。
index,Unnamed: 0,id,diet,pulse,time,kind 0,0,1,low fat,85,1 min,rest 1,1,1,low fat,85,15 min,rest 2,2,1,low fat,88,30 min,rest 3,3,2,low fat,90,1 min,rest 4,4,2,low fat,92,15 min,rest
现在我们已经加载了数据集,我们将探索一些示例。
示例 1
我们将首先调用 pairplot() 方法并将数据框传递给它。这将产生多个图,如下所示。
import seaborn as sns
import matplotlib.pyplot as plt
exercise =sns.load_dataset("exercise")
exercise.head()
sns.pairplot(exercise)
plt.show()
输出
示例 2
在这个示例中,我们将与 dataframe 一起将一些其他参数传递给 pairplto() 方法。由于我们使用的是 exercise 数据集,因此我们将使用 diet 分类列并将其传递给 hue 数据集,我们将绘制本质上是直方图的图形,这就是为什么 diag_kind 参数传递 hist 值的原因。
import seaborn as sns
import matplotlib.pyplot as plt
exercise =sns.load_dataset("exercise")
exercise.head()
sns.pairplot(exercise, hue="diet", diag_kind="hist")
plt.show()
输出
获得的输出如下所示:
示例 3
在这个示例中,我们将了解 map_lower() 函数的使用。我们将 pairplot 保存到变量 g 中,然后将 map_lower 函数应用于它。因此,基本上,对于存在的每个唯一的 hue 值,都会运行传递给 map.lower 的 func(对于每个变量)。当没有给出 hue 时,该函数将只在所有相关数据上运行一次(对于每个变量)。
import seaborn as sns
import matplotlib.pyplot as plt
exercise =sns.load_dataset("exercise")
exercise.head()
g = sns.pairplot(exercise, diag_kind="kde")
g.map_lower(sns.kdeplot, levels=4, color=".8")
plt.show()
输出
获得的输出如下所示: