Seaborn.PairGrid 类

Seaborn.PairGrid 用于子图网格以绘制数据集中的成对关系。 该对象为数据集中的每个变量创建了一个包含多个轴的网格,其中包含列和行。

二元图可以使用各种轴级别的图表工具在上下三角形中绘制,对角线可以显示每个变量的边际分布。 使用 pairplot,可以在一条 line() 中生成许多常见的图。 当您需要更大的通用性时,请使用 PairGrid。

语法

seaborn.PairGrid 的语法如下 −

class seaborn.PairGrid(**kwargs)

参数

seaborn.PairGridare 的一些参数在下面讨论。

S.No 名称和描述
1 Data

采用数据框,其中每一列都是一个变量,每一行都是一个观察值。

2 hue

指定将显示在特定网格面上的数据部分的变量。 要调节此变量的级别顺序,请参阅 var order 参数。

3 Kind

从{'scatter', 'kde', 'hist', 'reg'}中获取值,然后确定要绘制的图的类型。

4 Diag_kind

从{'auto', 'hist', 'kde', None} 获取值,如果使用的话,确定对角线子图的类型。 如果是"auto",则根据是否使用色调进行选择。

5 Height

采用标量值并确定刻面的高度。

6 Aspect

获取每个刻面的标量值和纵横比,因此纵横比 * 高度给出每个刻面的宽度(以英寸为单位)。

7 corner

采用布尔值,如果为 True,则不要将坐标轴添加到网格的上(非对角线)三角形,使其成为"角"图。

8 hue_order

将列表作为输入,分面变量级别的顺序由此顺序确定。


加载 seaborn 库

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

Import seaborn as sns

加载数据集

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

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()

输出

得到的绘图如下图 −

seaborn pairgrid 类

示例 2

在这个例子中,我们将把更多的参数连同数据帧一起传递给 PairGrid。 我们正在使用练习数据集,我们将绘制本质上是散点图的图形。

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()

输出

得到的图如下所示。

pairgrid 类

示例 3

在这个例子中,我们将在 facet 中绘制不同类型的 sof plots。 这可以在 map_upper、map_lower 和 map_diag 函数的帮助下完成,这些函数用于初始化需要在网格中绘制的绘图类型。

假设使用map_upper,设置的是scatterplot,那么grid上段的图就是散点图,以此类推。 在下面的示例中,上面的图是实物散点图,下面的图是实物核密度估计 (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()

输出

得到的输出如下 −

pairgrid.jpg

❮Seaborn 多图网格简介