seaborn.objects.Plot.facet#

Plot.facet(col=None, row=None, order=None, wrap=None)#

根据数据的条件子集生成子图。

参数:
col, row数据向量或标识符

用于定义网格列和/或行上的子集的变量。可以是构造函数中传递的全局数据源的引用。

order字符串列表,或包含维度的字典

定义分面变量的顺序。

wrapint

当只使用 colrow 时,将子图包装到一个二维网格上,在这个分面维度上会有这么多子图。

示例

分配分面变量将创建多个子图,并在每个子图上绘制数据的子集。

p = so.Plot(penguins, "bill_length_mm", "bill_depth_mm").add(so.Dots())
p.facet("species")
../_images/objects.Plot.facet_2_0.png

可以定义多个分面变量来创建二维网格。

p.facet("species", "sex")
../_images/objects.Plot.facet_4_0.png

分面变量可以作为全局绘图数据的引用或向量提供。

p.facet(penguins["island"])
../_images/objects.Plot.facet_6_0.png

对于单个分面变量,通过将等级列表传递给 order 来排列分面或限制为子集。

p.facet("species", order=["Gentoo", "Adelie"])
../_images/objects.Plot.facet_8_0.png

对于多个变量,将 order 作为字典传递。

p.facet("species", "sex", order={"col": ["Gentoo", "Adelie"], "row": ["Female", "Male"]})
../_images/objects.Plot.facet_10_0.png

当分面变量有多个级别时,可以 wrap 它以在两个维度上分配子图。

p = so.Plot(diamonds, x="carat", y="price").add(so.Dots())
p.facet("color", wrap=4)
../_images/objects.Plot.facet_12_0.png

包装只适用于单个变量,但可以在任何方向上包装。

p.facet(row="color", wrap=2)
../_images/objects.Plot.facet_14_0.png

使用 Plot.share() 指定分面是否应该以相同的方式缩放。

p.facet("clarity", wrap=3).share(x=False)
../_images/objects.Plot.facet_16_0.png

使用 Plot.label() 微调标题。

p.facet("color").label(title="{} grade".format)
../_images/objects.Plot.facet_18_0.png