matplotlib Python:堆叠条形图,如何从列按年份堆叠?

plupiseo  于 2022-11-15  发布在  Python
关注(0)|答案(1)|浏览(206)

大家 好 , 我 正在 尝试 创建 一 个 堆叠 条形 图 , 显示 一 年 中 的 每 一 天 ( 1 到 365 ) , 堆叠 代表 一 年 。
我 的 数据 如下 所 示 :

我 已经 整理 了 适用 于 * 所有 * 天/年 的 以下 内容 :

daychart = data.groupby(['Day'], as_index=False, sort=False).agg(Count=('Day','size'))
plt.figure(figsize=(20,4))
matplotlib.pyplot.bar(x="Day", height="Count", data=daychart)
plt.show()

中 的 每 一 个
... 看 起来 像 这样 :

我 现在 想 做 的 是 用 红色 显示 2019 年 , 叠加 在 蓝色 ( 2020 年 ) 之上 。
我 试 过 以下 几 种 方法 , 但 效果 都 很 差 :

b2019 = data.groupby([data['Year']=='2019']['Day'], as_index=False, sort=False).agg(Count=('Day','size'))
b2020 = data.groupby([data['Year']=='2020']['Day'], as_index=False, sort=False).agg(Count=('Day','size'))

plt.figure(figsize=(20,4))
matplotlib.pyplot.bar(x="Day", height="Count", data=b2019, color='r')
matplotlib.pyplot.bar(x="Day", height="Count", data=b2020, color='b')
plt.show()

格式
错误 :

有人 能 解释 一下 我 哪里 错 了 吗 ?
感谢 您 发送 编修 。

5lhxktic

5lhxktic1#

尝试query

b2019 = data.query('Year == 2019').groupby('Day', as_index=False, sort=False).agg(Count=('Day','size'))
b2020 = data.query('Year == 2020').groupby('Day', as_index=False, sort=False).agg(Count=('Day','size'))

相关问题