索引中具有重复日期时间的Python条形图



我想使用matplotlib pyplot在python中制作一个barchart。数据由一个索引(一个日期时间列表(和一个与该日期时间对应的数字组成。我有各种样品,都属于同一天。但是,在制作条形图时,它只显示与某个日期时间相对应的第一个样本,而不是所有样本。如何制作一个显示每个条目的条形图?

该索引具有以下结构:

ind = [datetime.datetime(2017, 3, 1, 0, 0), datetime.datetime(2017, 3, 1, 0, 0), 
datetime.datetime(2017, 3, 15, 0, 0), datetime.datetime(2017, 3, 15, 0, 0)]

并且这些值只是整数:

values = [10, 20, 30, 40]

因此,在绘制时,它只显示值为10的条形图2017-3-1和值为30的条形图17-3-15。我怎样才能让它们全部展示出来?

您可以按日期分组,添加值,然后从同一数据帧绘制条形图:

df = pd.DataFrame(data=values, index=ind)
df = df.groupby(df.index).sum()
df.plot(kind='bar')

如果您希望所有值都显示在绘图中,而不考虑日期,您可以简单地使用:

df.plot(kind='bar')

具有重复日期的条目将单独绘制。

最新更新