seaborn.objects.Dodge#

class seaborn.objects.Dodge(empty='keep', gap=0, by=None)#

沿着方向轴位移和收缩重叠的标记。

参数:
empty{‘keep’, ‘drop’, ‘fill’}
gapfloat

位移标记之间的间隙大小。

by变量名称列表

要应用位移的变量,否则使用所有变量。

示例

此转换修改了标记的宽度和位置(沿着方向轴),否则标记将重叠。

(
    so.Plot(tips, "day", color="time")
    .add(so.Bar(), so.Count(), so.Dodge())
)
../_images/objects.Dodge_1_0.png

默认情况下,当变量没有完全交叉时,可能会出现空白。

p = so.Plot(tips, "day", color="time")
p.add(so.Bar(), so.Count(), so.Dodge())
../_images/objects.Dodge_3_0.png

empty 参数处理这种情况;使用它来填充空白。

p.add(so.Bar(), so.Count(), so.Dodge(empty="fill"))
../_images/objects.Dodge_5_0.png

或在使用一致宽度时将标记居中。

p.add(so.Bar(), so.Count(), so.Dodge(empty="drop"))
../_images/objects.Dodge_7_0.png

使用 gap 在位移标记之间添加一些间距。

p = so.Plot(tips, "day", "total_bill", color="sex")
p.add(so.Bar(), so.Agg("sum"), so.Dodge(gap=.1))
../_images/objects.Dodge_9_0.png

当使用多个语义变量时,每个不同的组将被位移。

p.add(so.Dot(), so.Dodge(), fill="smoker")
../_images/objects.Dodge_11_0.png

使用 by 仅位移变量的子集。

p.add(so.Dot(), so.Dodge(by=["color"]), fill="smoker")
../_images/objects.Dodge_13_0.png

当与其他转换(例如 JitterStack)组合使用时,请注意应用顺序。

p.add(so.Dot(), so.Dodge(), so.Jitter())
../_images/objects.Dodge_15_0.png