seaborn - 如何在 seaborn.histplot 中使用“多个”参数?

seaborn - how to use `multiple` parameter in seaborn.histplot?

seaborn.histplot 接受一个名为 multiple 的关键字参数,其中一个值为 {'layer', 'dodge', 'stack', 'fill'}。我假设它处理多个条的重叠方式,或者何时使用 hue。但是,示例和文档并未明确说明何时使用哪种类型的 multiple。来自社区的任何信息都会有所帮助!!

一张图说明更多等

from matplotlib import pyplot as plt
import seaborn as sns

penguins = sns.load_dataset("penguins")
fig, axes = plt.subplots(2, 2, figsize=(15, 15))

kws = ["layer", "dodge", "stack", "fill"]
for kw, ax in zip(kws, axes.flat):
    sns.histplot(data=penguins, x="flipper_length_mm", hue="species", multiple=kw, ax=ax)
    ax.set_title(kw)

plt.show()

文档说“在语义映射创建子集时解析多个元素的方法。仅与单变量数据相关。”这意味着这仅在类别绘制在一张图中时才有意义:

  • 层 - 叠加类别(产生...有趣的颜色组合)
  • 闪避 - 并排分类(由于显而易见的原因不适用于纯 KDE 图)
  • stack - 堆叠类别
  • fill - 类别加起来达到 100%。

我认为可见的示例非常好(与我看到的其他“文档”相比)。

参数“multiple”的默认值是layer,这只是不同的子直方图在彼此之上。如果您想比较每个子直方图的形式(偏度、变化、median/average 在 x 轴上的位置等)并将形式相互比较,这将很有帮助。

stack 将条形堆叠在一起。如果您想了解比例(例如,哪个子类别更主要地分布在 x 轴的哪个区域并快速查看哪个子类别存在差距),这将是最有用的。

dogde 将拆分彼此相邻的列。这与 stack 非常相似,在我看来只是具有相同意图的变体。

如果我没记错的话,fill会填满整个情节。 在我看来,这不是很有用,因为缺少每个发行版的准确形式可能会导致用户错过一些重要的见解。