gpt4 book ai didi

python - Seaborn - 为零计数类别压缩 violinplot

转载 作者:太空宇宙 更新时间:2023-11-03 11:42:54 25 4
gpt4 key购买 nike

在布置 fiddle 图时,是否有一种简单的方法可以忽略零计数类别。在下面的示例中,没有 'Yes:Red' 和 'No:Green' 的情况,但 violinplot 仍然绘制“缺失”类别。我明白为什么这应该是默认行为,但是有什么方法可以改变色调中使用的因素来抑制这种行为并删除空格吗?

df = pd.DataFrame(
{'Success': 50 * ['Yes'] + 50 * ['No'],
'Category': 25 * ['Green'] + 25 * ['Blue'] + 25 * ['Green'] + 25 * ['Red'],
'value': np.random.randint(1, 25, 100)}
)
sns.violinplot(x='Success', y='value', hue='Category', data=df)
plt.show()

enter image description here

提前致谢。

最佳答案

这是我在没有像我在评论中建议的特定情况作弊的情况下所能得到的最接近的结果。

您可以将 FacetGridsharex = False 参数一起使用。然后,您需要 map 方法并将带有适当参数的 violinplot 映射到 FacetGird 对象。像这样:

g = sns.FacetGrid(df, col="Success",  sharex=False)
g = g.map(sns.violinplot, 'Category','value')
plt.show()

产生这张图片:

enter image description here

不再绘制空白图的空白区域。

唯一的缺点是 hue 参数目前不起作用。我将继续寻找以适当方式包含色调的解决方案。用户仍然可以在 x 轴上看到实际的类别。然而,这并不理想。

我仍然希望当前形式的答案对您有所帮助。

关于python - Seaborn - 为零计数类别压缩 violinplot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45490572/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com