【发布时间】:2017-04-12 16:28:14
【问题描述】:
我有一个这样的数据框
from datetime import date
import random
start_date = date.today().replace(day=1, month=1).toordinal()
end_date = date.today().toordinal()
df=pd.DataFrame.from_dict({'dates':[ date.fromordinal(random.randint(start_date, end_date)) for i in xrange(10) ]
,'n':np.random.randint(0,100,10)})
df.index=df['dates']; del df['dates']
df.sort_index(inplace=True)
生成
n
dates
2016-01-24 0
2016-02-26 98
2016-03-04 68
2016-03-26 45
2016-05-03 89
2016-05-09 83
2016-05-11 58
2016-07-29 53
2016-09-18 79
2016-10-20 57
我想绘制它并为 2 月和 3 月绘制一个 axvspan。由于我的日期是随机的,我该如何选择这 2 个月并使用 axvspan
我的绘图代码很简单
ax=df.plot()
【问题讨论】:
-
axvspan(pd.datetime(2016, 2, 1), pd.datetime(2016,4,1)) 能给你想要的吗?
-
那行得通。出于某种原因,当我在循环中执行 ax.axvspan(pd.datetime(2016, 2, 1), pd.datetime(2016,4,1)) 时,我什么也没看到。否则它会工作
标签: pandas matplotlib visualization