在 Python 中对 Seaborn 进行配对

Manav Narula 2021年7月16日
在 Python 中对 Seaborn 进行配对

在 Python 中,我们使用 seaborn 模块创建不同类型的图形和绘图来可视化数据集。不同的函数创建不同类型的图。有时单个图可能不足以可视化数据集,我们可能需要同时绘制多个图。pairplot() 函数可以帮助解决这个问题。

本教程将介绍如何在 Python 中使用 seaborn 模块的 pairplot() 函数。

它基于 seaborn 中的 PairGrid 类并返回其类型的对象。它还在两个轴上绘制数据的所有数字列,显示不同图的矩阵。它生成一个最终图形,在对角线上有一个统一的图形,在上下三角形上有一个不同的图。

如果需要,我们可以使用 x_varsy_varspairplot() 函数中的 vars 参数指定要绘制的所需变量。

例如,

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns


df = pd.DataFrame({"Quantity": [5,6,7,8,5,6,7,8,5,6,7,8,5,6,7,8],
                   "Price": [9,10,15,16,13,14,15,18,11,12,14,15,16,17,18,19],
                   "Day" : [1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2],
                   "Product": ['A','A','A','A','B','B','B','B',
                              'A','A','A','A','B','B','B','B']})
sns.pairplot(df)

seaborn 中的 pairplot

在上面的代码中,我们创建了一个 pairplot() 函数的简单示例。请注意绘制在对角线上的不同图形。

我们可以使用一些方法和参数来调整最终结果。hue 参数可用于绘制不同颜色的不同类别。palette 参数可以定义用于此的颜色。为所有图形添加了一个通用图例。我们可以在上面的例子中添加这个来区分这两种产品。

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

df = pd.DataFrame({"Quantity": [5,6,7,8,5,6,7,8,5,6,7,8,5,6,7,8],
                   "Price": [9,10,15,16,13,14,15,18,11,12,14,15,16,17,18,19],
                   "Day" : [1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2],
                   "Product": ['A','A','A','A','B','B','B','B',
                              'A','A','A','A','B','B','B','B']})
sns.pairplot(df, hue = 'Product',palette = "husl")

带有色调参数的 seaborn 中的 pairplot

我们还可以控制在上下或三角形和对角线上绘制的图形类型。diag_kind 参数用于指定对角线的图,其余的 kind 参数用于指定图。它们的值可以是 regscatterkdehist 或其他一些图。

例如,

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns


df = pd.DataFrame({"Quantity": [5,6,7,8,5,6,7,8,5,6,7,8,5,6,7,8],
                   "Price": [9,10,15,16,13,14,15,18,11,12,14,15,16,17,18,19],
                   "Day" : [1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2],
                   "Product": ['A','A','A','A','B','B','B','B',
                              'A','A','A','A','B','B','B','B']})
sns.pairplot(df, hue = "Product", diag_kind = 'hist', kind = 'scatter')

带有 diag_kind 参数的 seaborn 中的 pairplot

为了自定义对角线上的各个图,我们使用 plot_kwsdiag_kws 参数。我们将所需的自定义作为字典键值对传递。我们也可以使用 height 参数更改单个图的高度。

此外,请记住它返回 PairGrid 类的对象,以使用该类中的方法自定义最终图形。

Author: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn