seaborn.PairGrid.__init__#

PairGrid.__init__(data, *, hue=None, vars=None, x_vars=None, y_vars=None, hue_order=None, palette=None, hue_kws=None, corner=False, diag_sharey=True, height=2.5, aspect=1, layout_pad=0.5, despine=True, dropna=False)#

初始化绘图图形和 PairGrid 对象。

参数:
dataDataFrame

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

hue字符串(变量名)

data 中的变量,用于将绘图方面映射到不同的颜色。此变量将从默认的 x 和 y 变量中排除。

vars变量名列表

data 中要使用的变量,否则使用所有具有数字数据类型的列。

{x, y}_vars变量名列表

data 中要分别用于图形行和列的变量;例如,要制作非正方形的图形。

hue_order字符串列表

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

palette字典或 seaborn 颜色调色板

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

hue_kws参数到值的映射字典

要插入绘图调用中的其他关键字参数,以使其他绘图属性在色调变量级别之间变化(例如,散点图中的标记)。

corner布尔值

如果为 True,则不要向网格的上三角形(非对角线)添加轴,使其成为“角”图形。

height标量

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

aspect标量

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

layout_pad标量

轴之间的填充;传递给 fig.tight_layout

despine布尔值

从图形中删除顶部和右侧的刺。

dropna布尔值

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

另请参阅

pairplot

轻松绘制 PairGrid 的常见用途。

FacetGrid

用于绘制条件关系的子图网格。

示例

调用构造函数将设置一个空白的子图网格,其中每一行和一列对应于数据集中一个数值变量

penguins = sns.load_dataset("penguins")
g = sns.PairGrid(penguins)
../_images/PairGrid_1_0.png

将双变量函数传递给 PairGrid.map() 将在每个轴上绘制一个双变量图

g = sns.PairGrid(penguins)
g.map(sns.scatterplot)
../_images/PairGrid_3_0.png

将不同的函数分别传递给 PairGrid.map_diag()PairGrid.map_offdiag() 将显示每个变量的边缘分布在对角线上

g = sns.PairGrid(penguins)
g.map_diag(sns.histplot)
g.map_offdiag(sns.scatterplot)
../_images/PairGrid_5_0.png

也可以在图形的上三角形和下三角形上使用不同的函数(否则是冗余的)

g = sns.PairGrid(penguins, diag_sharey=False)
g.map_upper(sns.scatterplot)
g.map_lower(sns.kdeplot)
g.map_diag(sns.kdeplot)
../_images/PairGrid_7_0.png

或完全避免冗余

g = sns.PairGrid(penguins, diag_sharey=False, corner=True)
g.map_lower(sns.scatterplot)
g.map_diag(sns.kdeplot)
../_images/PairGrid_9_0.png

PairGrid 构造函数接受一个 hue 变量。此变量直接传递给理解它的函数

g = sns.PairGrid(penguins, hue="species")
g.map_diag(sns.histplot)
g.map_offdiag(sns.scatterplot)
g.add_legend()
../_images/PairGrid_11_0.png

但也可以传递 matplotlib 函数,在这种情况下,会在内部执行 groupby 并为每个级别绘制一个单独的图

g = sns.PairGrid(penguins, hue="species")
g.map_diag(plt.hist)
g.map_offdiag(plt.scatter)
g.add_legend()
../_images/PairGrid_13_0.png

可以通过在映射函数时直接传递数据向量来分配其他语义变量

g = sns.PairGrid(penguins, hue="species")
g.map_diag(sns.histplot)
g.map_offdiag(sns.scatterplot, size=penguins["sex"])
g.add_legend(title="", adjust_subtitles=True)
../_images/PairGrid_15_0.png

当使用可以实现数值色调映射的 seaborn 函数时,您将希望禁用对角轴上变量的映射。请注意, hue 变量被从默认显示的变量列表中排除

g = sns.PairGrid(penguins, hue="body_mass_g")
g.map_diag(sns.histplot, hue=None, color=".3")
g.map_offdiag(sns.scatterplot)
g.add_legend()
../_images/PairGrid_17_0.png

vars 参数可用于控制要使用的变量

variables = ["body_mass_g", "bill_length_mm", "flipper_length_mm"]
g = sns.PairGrid(penguins, hue="body_mass_g", vars=variables)
g.map_diag(sns.histplot, hue=None, color=".3")
g.map_offdiag(sns.scatterplot)
g.add_legend()
../_images/PairGrid_19_0.png

图形不必是正方形:可以使用单独的变量来定义行和列

x_vars = ["body_mass_g", "bill_length_mm", "bill_depth_mm", "flipper_length_mm"]
y_vars = ["body_mass_g"]
g = sns.PairGrid(penguins, hue="species", x_vars=x_vars, y_vars=y_vars)
g.map_diag(sns.histplot, color=".3")
g.map_offdiag(sns.scatterplot)
g.add_legend()
../_images/PairGrid_21_0.png

探索不同的方法来解决对角轴上的多个分布可能很有用

g = sns.PairGrid(penguins, hue="species")
g.map_diag(sns.histplot, multiple="stack", element="step")
g.map_offdiag(sns.scatterplot)
g.add_legend()
../_images/PairGrid_23_0.png