2016-02-29 64 views
0

我的主要问题是如何绘制垂直线,当我的x轴代表日期时间序列?例如1月一日至1月12日,2106使用pylab绘制垂直线,时间序列

有些事情我想是:

我已经有一个图表,从日期的数据帧发。我需要在x = somedate时绘制一条垂直线。

days = pd.DatetimeIndex(start='2016-01-07', end='2016-01-031', freq='D') 
example=pd.DataFrame(np.arange(7,32),index=days) 
gp=example.plot() 

我尝试使用

gp.axvline(x=days[0].date()) 

然而,它显示了一个错误,序线> = 1。 我如何绘制?

+1

“天”究竟是什么?我只能看到''天''。也请提供错误的完整追溯。 – MSeifert

+0

这是一个错字。这是'天'。我也会在一瞬间提供追溯。然而,我的主要问题是我如何绘制垂直线,当我的x轴代表日期时间系列?例如1月1日至1月12日,2106 – CoderBC

+1

无法复制。 – bernie

回答

0

我使用一些额外的代码更新了我的评论。您的代码如下:

import numpy as np 
import pandas as pd 
import datetime as dt 

days = pd.DatetimeIndex(start='2016-01-07', end='2016-01-031', freq='D') 
example=pd.DataFrame(np.arange(7,32),index=days) 
gp=example.plot() 

gp.axvline(x=days[0].date()) 

# And now the interesting part 
# I add one day to the previous left xlim 
gp.set_xlim(left = days[0].date() - dt.timedelta(days = 1)) 
gp.figure.canvas.draw() 
gp.figure.show() 
+0

非常感谢你!它确实有用! – CoderBC