首页 > 解决方案 > 如何使用 seaborn 为分类数据绘制堆积 100% 条形图

问题描述

我有一个看起来像这样的数据集(假设它有 4 个类别Clickedhead(10)仅显示 2 个类别):

    Rank Clicked
0   2.0 Cat4
1   2.0 Cat4
2   2.0 Cat4
3   1.0 Cat1
4   1.0 Cat4
5   2.0 Cat4
6   2.0 Cat4
7   3.0 Cat4
8   5.0 Cat4
9   5.0 Cat4

这是返回此图的代码:

eee = (df.groupby(['Rank','Clicked'])['Clicked'].count()/df.groupby(['Rank'])['Clicked'].count())
eee.unstack().plot.bar(stacked=True)
plt.legend(['Cat1','Cat2','Cat3','Cat4'])
plt.xlabel('Rank')

在此处输入图像描述

有没有办法使用 seaborn(或 matplotlib)而不是 pandas 绘图功能来实现这一点?我尝试了几种方法,运行seaborn代码和预处理数据集,使其格式正确,但没有运气。

标签: pythonpandasmatplotlibplotseaborn

解决方案


例如

tips = sns.load_dataset("tips")
sns.histplot(
    data=tips,
    x="size", hue="day",
    multiple="fill", stat="proportion",
    discrete=True, shrink=.8
)

在此处输入图像描述


推荐阅读