2016-02-29 65 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