ValueError: `multiple` must be one of ['layer', 'stack', 'fill', 'dodge'], but s was passed.`
ValueError: `multiple` must be one of ['layer', 'stack', 'fill', 'dodge'], but s was passed.`
我正在尝试将我的 histplot FaceGrid 图与“hue_kws”中的“多个”堆叠在一起
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.`
所以我猜只传递了值字符串的第一个字母。
我错过了什么?
您使用 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")
我正在尝试将我的 histplot FaceGrid 图与“hue_kws”中的“多个”堆叠在一起
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.`
所以我猜只传递了值字符串的第一个字母。 我错过了什么?
您使用 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")