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

输出

获得的图如下所示:

seaborn pairgrid class

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

输出

获得的图如下所示。

pairgrid class

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

输出

获得的输出如下:

pairgrid.jpg
seaborn_multi_plot_grids_introduction.htm
广告
© . All rights reserved.