首页 > 解决方案 > 使用 Pandas/matplotlib.pyplot 在 python 中绘制堆叠的条形图

问题描述

我正在尝试创建一个堆叠的条形图,每个条形代表一个状态,在每个条形内,按计数分为三类销售订单:办公用品、家具和技术。如果有人能帮上忙,那就开始使用 python 进行视觉效果吧!

在此处输入图像描述

标签: pythonpandasmatplotlib

解决方案


crosstab与参数DataFrame.plot.bar一起使用stacked=True

df = pd.DataFrame({
        'Category':list('ffofofoftoof'),
        'State':list('kkcffccccccc')
})
print (df)
   Category State
0         f     k
1         f     k
2         o     c
3         f     f
4         o     f
5         f     c
6         o     c
7         f     c
8         t     c
9         o     c
10        o     c
11        f     c

df1 = pd.crosstab(df['State'], df['Category'])
print (df1)
Category  f  o  t
State            
c         3  4  1
f         1  1  0
k         2  0  0

df1.plot.bar(stacked=True)

G


推荐阅读