使用Pandas/matplotlib.pyp在python中绘制堆积条形图

2024-05-17 02:53:08 发布

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

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

enter image description here


Tags: 订单状态代表技术计数条形图视觉效果家具
2条回答

使用^{}^{}以及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

假设您已经将数据存储在pandas数据框df中,您可以使用pandas条形图来获得所需的结果

df.groupby(['State', 'Category'])['Category'].count().unstack().plot(kind='bar', stacked=True)

您可以从pandas和matplotlib文档中获得有关条形图的更多信息

Matplotlib stacked bar chart

Pandas bar chart

相关问题 更多 >