首页 > 解决方案 > 使用 pandas 的堆叠条形图

问题描述

我有一些包含 3 列的数据,我想从中绘制堆栈条,显示 y 轴上增加的日期和数字计数(基于“数字”列);所以酒吧大陆(列“大陆”)中的堆栈相互堆叠,并按大陆着色。

这是数据:

Date    Numbers Country
22/03/2020  2   AFRICA
22/03/2020  4   AFRICA
22/03/2020  10  AFRICA
23/03/2020  4   ASIA
23/03/2020  6   ASIA
23/03/2020  15  ASIA
24/03/2020  2   AMERICA
24/03/2020  7   AMERICA
24/03/2020  17  AMERICA
25/03/2020  5   EUROPE
25/03/2020  15  EUROPE
25/03/2020  20  EUROPE
26/03/2020  3   OCEANIA
26/03/2020  4   OCEANIA
26/03/2020  10  OCEANIA

这是我的尝试,但没有奏效:

df.index=df['Date']
df_c= df.groupby(['Country'])['Number'].count()
df_c.plot(kind='bar', stacked=True)

有人可以帮忙吗?谢谢

编辑:x 轴上的日期和 y 轴上的数字总和

标签: pandasmatplotlibplotbar-chart

解决方案


您是否正在寻找这样的东西:

df.groupby(['Date','Country'])['Numbers'].count().unstack().plot.bar(stacked=True)

输出:

在此处输入图像描述


推荐阅读