我想创建一个条形图,其中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),]
如果我运行脚本,我希望看到类似的内容:
我手动绘制了这里。
我知道可以使用循环来运行日期列表,如果日期的月份对应等,则使用if语句手动汇总日期。但我希望在python / matplotlib中有一些更自动化的方法
答案 0 :(得分:2)
您可以使用pandas:
tweets= tweepy.Cursor(api.search,q=searchTerms,
给出:
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')
获得每个月的月份。你可以用同样的方式按天,年等分组。