2014-02-07 53 views
1

我正在繪製一些二維時間序列數據,並且我想用X或某個其他標記在圖上標記特定日期。例如,如果我擁有過去6個月中每個日期的所有數據,並且我想指出聖誕節在這個情節中的位置。最簡單的方法是什麼?我可以手動完成,但更願意添加一些在我的代碼中自動完成的東西。在熊貓圖上標記事件點

編輯:我到目前爲止的嘗試。不知道是否有什麼更好的工作。我比較日期對象時遇到了一些麻煩,這就是爲什麼比較字符串按原樣分割的原因。

filt1.plot(figsize=(16,16)) 
filt3=filtered[(filtered.index.year==2012)&(filtered.index.month==12)&(filtered.index.day==25)]["Income_MA"] 
filt3.plot(style="ro") 
+0

你能告訴我們一個你嘗試過的沒有用的例子嗎? – tacaswell

+0

我用我目前的解決方案編輯了我的帖子。 – mrdst

+3

你在找'annotate'是'axvline'嗎? – tacaswell

回答

0

跟隨tcaswell的評論,這樣的事情可能適合你嗎?

df = pd.Series(np.random.rand(180), index=pd.date_range(start=pd.datetime(2000, 9, 1), periods=180, freq='D')) 
xmas_date = pd.datetime(2000, 12, 25) 

myax = df.cumsum().plot() 
ylims = myax.get_ylim() 
myax.vlines(xmas_date, ylims[0], ylims[1]) 
myax.annotate("Xmas", xy=(xmas_date, ylims[1]), 
       xytext=(-12, 5), 
       textcoords='offset points') 
myax.set_ylim(ylims) 

給予

enter image description here

這是一個脆弱的解決方案,因爲我已經手動設置一個日期來標註,但它應該是很容易將保鮮膜的代碼在一個函數並調用它你感興趣的每一個日期。