在 Python 中对 Seaborn 进行配对
在 Python 中,我们使用 seaborn 模块创建不同类型的图形和绘图来可视化数据集。不同的函数创建不同类型的图。有时单个图可能不足以可视化数据集,我们可能需要同时绘制多个图。pairplot()
函数可以帮助解决这个问题。
本教程将介绍如何在 Python 中使用 seaborn 模块的 pairplot()
函数。
它基于 seaborn 中的 PairGrid
类并返回其类型的对象。它还在两个轴上绘制数据的所有数字列,显示不同图的矩阵。它生成一个最终图形,在对角线上有一个统一的图形,在上下三角形上有一个不同的图。
如果需要,我们可以使用 x_vars
、y_vars
或 pairplot()
函数中的 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)
在上面的代码中,我们创建了一个 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")
我们还可以控制在上下或三角形和对角线上绘制的图形类型。diag_kind
参数用于指定对角线的图,其余的 kind
参数用于指定图。它们的值可以是 reg
、scatter
、kde
、hist
或其他一些图。
例如,
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')
为了自定义对角线上的各个图,我们使用 plot_kws
和 diag_kws
参数。我们将所需的自定义作为字典键值对传递。我们也可以使用 height
参数更改单个图的高度。
此外,请记住它返回 PairGrid
类的对象,以使用该类中的方法自定义最终图形。
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