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() 方法的一些参数。
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
我们将首先调用 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 分类列并将其传递给色调数据集,我们将绘制本质上是直方图的图形,这就是为什么 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 函数 id 应用于它。 所以基本上,对于存在的每个唯一色调值,将运行提供给 map.lower 的函数(对于每个变量)。 当没有给出色调时,该函数将只对所有相关数据(对于每个变量)运行一次。
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()
输出
得到的输出如下 −