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

绘制数据集中的成对关系。

默认情况下,此函数将创建一个 Axes 网格,使得 data 中的每个数值变量在同一行上共享 y 轴,并在同一列上共享 x 轴。对角线上的图以不同的方式处理:绘制了一个单变量分布图,以显示每一列数据边缘分布。

还可以显示一个变量子集,或在行和列上绘制不同的变量。

这是一个针对 PairGrid 的高级接口,旨在简化一些常见样式的绘制。如果您需要更多灵活性,请直接使用 PairGrid

参数:
datapandas.DataFrame

整齐的(长格式)数据帧,其中每一列都是一个变量,每一行都是一个观测值。

huedata 中的变量名

data 中的变量,用于将绘图方面映射到不同的颜色。

hue_order字符串列表

调色板中调色变量级别的顺序

palette字典或 seaborn 调色板

用于映射 hue 变量的颜色集。如果为字典,则键应该是 hue 变量中的值。

vars变量名列表

要使用的 data 中的变量,否则使用具有数值数据类型的每一列。

{x, y}_vars变量名列表

要分别用于图形行和列的 data 中的变量;例如,要创建一个非方形绘图。

kind{‘scatter’, ‘kde’, ‘hist’, ‘reg’}

要绘制的图类型。

diag_kind{‘auto’, ‘hist’, ‘kde’, None}

对角线子图的图类型。如果为 ‘auto’,则根据是否使用 hue 进行选择。

markers单个 matplotlib 标记代码或列表

用于所有散点图点的标记,或一个与调色变量级别数量相同的标记列表,以便不同颜色的点也有不同的散点图标记。

height标量

每个小面的高度(以英寸为单位)。

aspect标量

纵横比 * 高度给出每个小面的宽度(以英寸为单位)。

corner布尔值

如果为 True,则不向网格的顶部(非对角线)三角形添加轴,从而使其成为一个“角点”图。

dropna布尔值

在绘制之前从数据中删除缺失值。

{plot, diag, grid}_kws字典

关键字参数字典。plot_kws 传递给二元绘制函数,diag_kws 传递给单变量绘制函数,grid_kws 传递给 PairGrid 构造函数。

返回:
gridPairGrid

返回基础 PairGrid 实例,用于进一步调整。

另请参阅

PairGrid

用于更灵活地绘制成对关系的子图网格。

JointGrid

用于绘制两个变量的联合和边缘分布的网格。

示例

最简单的调用使用 scatterplot() 针对变量的每个组合,并使用 histplot() 针对对角线上的边缘图

penguins = sns.load_dataset("penguins")
sns.pairplot(penguins)
../_images/pairplot_1_0.png

分配一个 hue 变量添加语义映射,并将默认边缘图更改为分层核密度估计 (KDE)

sns.pairplot(penguins, hue="species")
../_images/pairplot_3_0.png

可以强制使用边缘直方图

sns.pairplot(penguins, hue="species", diag_kind="hist")
../_images/pairplot_5_0.png

kind 参数决定对角线和非对角线上的绘制样式。提供了多个选项,包括使用 kdeplot() 绘制 KDE

sns.pairplot(penguins, kind="kde")
../_images/pairplot_7_0.png

histplot() 绘制二元和单变量直方图

sns.pairplot(penguins, kind="hist")
../_images/pairplot_9_0.png

markers 参数在非对角线轴上应用样式映射。目前,它与 hue 变量是冗余的

sns.pairplot(penguins, hue="species", markers=["o", "s", "D"])
../_images/pairplot_11_0.png

与其他图形级函数一样,图形的大小通过设置每个子图的 height 来控制

sns.pairplot(penguins, height=1.5)
../_images/pairplot_13_0.png

使用 varsx_varsy_vars 选择要绘制的变量

sns.pairplot(
    penguins,
    x_vars=["bill_length_mm", "bill_depth_mm", "flipper_length_mm"],
    y_vars=["bill_length_mm", "bill_depth_mm"],
)
../_images/pairplot_15_0.png

设置 corner=True 以仅绘制下三角形

sns.pairplot(penguins, corner=True)
../_images/pairplot_17_0.png

参数 plot_kwsdiag_kws 接受关键字参数字典,分别用于自定义非对角线和对角线绘图

sns.pairplot(
    penguins,
    plot_kws=dict(marker="+", linewidth=1),
    diag_kws=dict(fill=False),
)
../_images/pairplot_19_0.png

返回值对象是底层的 PairGrid,可用于进一步自定义绘图

g = sns.pairplot(penguins, diag_kind="kde")
g.map_lower(sns.kdeplot, levels=4, color=".2")
../_images/pairplot_21_0.png