- Seaborn 教程
- Seaborn - 首页
- Seaborn - 简介
- Seaborn - 环境搭建
- 导入数据集和库
- Seaborn - 图表美化
- Seaborn - 调色板
- Seaborn - 直方图
- Seaborn - 核密度估计
- 可视化成对关系
- Seaborn - 绘制分类数据
- 观测值的分布
- Seaborn - 统计估计
- Seaborn - 绘制宽格式数据
- 多面板分类图
- Seaborn - 线性关系
- Seaborn - Facet Grid
- Seaborn - Pair Grid
- 函数参考
- Seaborn - 函数参考
- Seaborn 有用资源
- Seaborn - 快速指南
- Seaborn - 有用资源
- Seaborn - 讨论
Seaborn.PairGrid 类
Seaborn.PairGrid 用于绘制数据集中的成对关系的子图网格。此对象创建一个由许多坐标轴组成的网格,其中数据集中的每个变量都对应一列和一行。
可以使用各种轴级图表工具在上下三角形中绘制双变量图,对角线可以显示每个变量的边缘分布。使用 pairplot,可以在一行代码中生成许多常见的图。当需要更大的灵活性时,可以使用 PairGrid。
语法
以下是 seaborn.PairGrid 的语法:
class seaborn.PairGrid(**kwargs)
参数
下面讨论 seaborn.PairGrid 的一些参数。
| 序号 | 名称和描述 |
|---|---|
| 1 | 数据 接收数据框,其中每一列是一个变量,每一行是一个观测值。 |
| 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
我们将首先调用 PairGrid 并将数据框传递给它。这将产生多个图,如下所示。
import seaborn as sns
import matplotlib.pyplot as plt
exercise=sns.load_dataset("exercise")
exercise.head()
g = sns.PairGrid(exercise)
plt.show()
输出
获得的图如下所示:
示例 2
在这个例子中,我们将与数据框一起将一些参数传递给 PairGrid。我们使用 exercise 数据集,并将绘制本质上是散点图的图形。
import seaborn as sns
import matplotlib.pyplot as plt
exercise=sns.load_dataset("exercise")
exercise.head()
g = sns.PairGrid(exercise)
g.map(sns.scatterplot)
plt.show()
输出
获得的图如下所示。
示例 3
在这个例子中,我们将绘制不同类型的图在面板中。这可以通过 map_upper、map_lower 和 map_diag 函数来实现,这些函数用于初始化需要在网格中绘制的图的类型。
例如,如果使用 map_upper 并将散点图设置为类型,则网格上半部分的图类型为散点图,依此类推。在下面的示例中,上方的图类型为散点图,下方的图类型为核密度估计 (KDE) 图,其余的是经验累积分布函数 (ecdf) 图。
import seaborn as sns
import matplotlib.pyplot as plt
exercise=sns.load_dataset("exercise")
exercise.head()
g=sns.PairGrid(exercise)
g.map_upper(sns.scatterplot)
g.map_lower(sns.kdeplot)
g.map_diag(sns.ecdfplot)
plt.show()
输出
获得的输出如下: