2015-10-08 68 views
1

我試圖創建treasury yield curve的圖表率從兩個不同的日期比較將兩張收益率曲線。我很難將兩條曲線相結合並創建一個乾淨的圖形。 我的問題:我怎麼繪製兩個收益率曲線在一起,收益率(利率)是在y軸,期限(2年期,5年期,10年期,20YR,30yr)是在x軸?繪圖國債收益率曲線,如何使用matplotlib

import numpy as np 
import pandas as pd 
import datetime as dt 
import pandas.io.data as web 
import matplotlib.pyplot as plt 
import Quandl as q 
from pandas import DataFrame 
import matplotlib 
matplotlib.style.use('ggplot') 

treasury = q.get("USTREASURY/YIELD", trim_start="2000-01-01", returns="pandas") 

fig, ax = plt.subplots() 

treas = DataFrame(treasury) 
treas.drop(treas.columns[[0,1,2,3,5,7]], axis=1, inplace=True) 
today = treas.iloc[-1:] 
first = treas.iloc[:1] 
first = first.T 
today = today.T 

ax.plot(first, 'o') 
ax.plot(today, 'x') 

#first.plot(marker='o') 
#today.plot(marker='o') 
plt.show() 

這是我的情節看起來像目前。我試圖翻轉軸,這樣每條收益率曲線就是一條帶有標記的線。 enter image description here

+0

您可以包括當前的情節,並解釋你期待什麼呢? – cel

+0

基本上,我希望它看起來就像我添加的treasury.gov鏈接中的收益曲線。 – Brian

+0

你的意思是說你想要一行加入的點,還是有更多的呢? – iayork

回答

4

難道這就是你要找的人?

import matplotlib.pyplot as plt 
import pandas as pd 
import Quandl as ql 
%matplotlib inline 

yield_ = ql.get("USTREASURY/YIELD") 
today = yield_.iloc[-1,:] 
month_ago = yield_.iloc[-30,:] 
df = pd.concat([today, month_ago], axis=1) 
df.columns = ['today', 'month_ago'] 

df.plot(style={'today': 'ro-', 'month_ago': 'bx--'} 
     ,title='Treasury Yield Curve, %'); 

enter image description here

+0

這就是我正在尋找的。謝謝。 – Brian