Matplotlib甚至频率按月条形图分类

时间:2015-10-24 09:06:59

标签: python matplotlib

我想创建一个条形图,其中x-axis表示月份,条形图的高度与输入本月日期列表的天数成比例。我想动态更新列表,然后程序应该在扩展此列表时更新图表。

我可以按如下方式创建日期列表:

import matplotlib.pyplot as plt
import datetime

dates =  [datetime.date(2015,01,05),
          datetime.date(2015,01,18),
          datetime.date(2015,01,25),
          datetime.date(2015,02,18),
          datetime.date(2015,03,07),
          datetime.date(2015,03,27),]

如果我运行脚本,我希望看到类似的内容:

enter image description here

我手动绘制了这里。

我知道可以使用循环来运行日期列表,如果日期的月份对应等,则使用if语句手动汇总日期。但我希望在python / matplotlib中有一些更自动化的方法

1 个答案:

答案 0 :(得分:2)

您可以使用pandas:

tweets= tweepy.Cursor(api.search,q=searchTerms,

给出:

enter image description here

import pandas as pd import datetime dates = [datetime.date(2015,01,05), datetime.date(2015,01,18), datetime.date(2015,01,25), datetime.date(2015,02,18), datetime.date(2015,03,07), datetime.date(2015,03,27),] df = pd.DataFrame({'dates':dates}) df.dates = pd.to_datetime(df.dates) df.groupby(df.dates.dt.month).count().plot(kind='bar') 获得每个月的月份。你可以用同样的方式按天,年等分组。