ValueError:'multiple'必须是['layer','stack','fill','dodge']中的一个,但传递了s`

2024-09-27 23:17:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将histplot FaceGrid plot与“hue_kws”中的“multiple”堆叠在一起

fg1 = sns.FacetGrid(data=df, col="type", col_wrap=3, hue="class", height=3.5,
                    hue_kws={"multiple": 'stack'}
                    )
fg1.map_dataframe(sns.histplot, x="col_name")

我得到了标题中的错误。如果我通过

hue_kws={"multiple": 'layer'}

错误更改为

ValueError: `multiple` must be one of ['layer', 'stack', 'fill', 'dodge'], but l was passed.`

所以我猜只传递值字符串的第一个字母。 我错过了什么


Tags: layerdfdataplotstack错误colmultiple
1条回答
网友
1楼 · 发布于 2024-09-27 23:17:44

您错误地使用了hue_kws。它的parameter type文档中有“参数字典->;值映射列表”。因此,它试图将字符串的第一个字母用于第一个色调级别,将字符串的第二个字母用于第二个色调变量,等等。这不是您想要的

虽然您可以直接使用FacetGrid,但使用displot更简单、更安全:

fg1 = sns.displot(df, x="col_name", hue="class",
                  col="type", col_wrap=3,
                  height=3.5, multiple="stack")

相关问题 更多 >

    热门问题