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布尔值
在绘图之前从数据中删除缺失值。
示例
调用构造函数将设置一个空白的子图网格,其中每一行和一列对应于数据集中一个数值变量
penguins = sns.load_dataset("penguins") g = sns.PairGrid(penguins)
将双变量函数传递给
PairGrid.map()
将在每个轴上绘制一个双变量图g = sns.PairGrid(penguins) g.map(sns.scatterplot)
将不同的函数分别传递给
PairGrid.map_diag()
和PairGrid.map_offdiag()
将显示每个变量的边缘分布在对角线上g = sns.PairGrid(penguins) g.map_diag(sns.histplot) g.map_offdiag(sns.scatterplot)
也可以在图形的上三角形和下三角形上使用不同的函数(否则是冗余的)
g = sns.PairGrid(penguins, diag_sharey=False) g.map_upper(sns.scatterplot) g.map_lower(sns.kdeplot) g.map_diag(sns.kdeplot)
或完全避免冗余
g = sns.PairGrid(penguins, diag_sharey=False, corner=True) g.map_lower(sns.scatterplot) g.map_diag(sns.kdeplot)
PairGrid
构造函数接受一个hue
变量。此变量直接传递给理解它的函数g = sns.PairGrid(penguins, hue="species") g.map_diag(sns.histplot) g.map_offdiag(sns.scatterplot) g.add_legend()
但也可以传递 matplotlib 函数,在这种情况下,会在内部执行 groupby 并为每个级别绘制一个单独的图
g = sns.PairGrid(penguins, hue="species") g.map_diag(plt.hist) g.map_offdiag(plt.scatter) g.add_legend()
可以通过在映射函数时直接传递数据向量来分配其他语义变量
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)
当使用可以实现数值色调映射的 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()
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()
图形不必是正方形:可以使用单独的变量来定义行和列
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()
探索不同的方法来解决对角轴上的多个分布可能很有用
g = sns.PairGrid(penguins, hue="species") g.map_diag(sns.histplot, multiple="stack", element="step") g.map_offdiag(sns.scatterplot) g.add_legend()