2015-10-21 66 views
1

如何格式化x軸以便週期之間的間距是「按比例縮放」。如在,10年和30年之間的距離應該遠大於1年和2年之間的距離。如何格式化缺失日期的x軸時間刻度標記

import pandas as pd 
import numpy as np 
import matplotlib.pyplot as plt 
import Quandl as ql 

yield_ = ql.get("USTREASURY/YIELD") 
today = yield_.iloc[-1,:] 
month_ago = yield_.iloc[-1000,:] 
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, %'); 

plt.show() 

我希望我的圖表看起來像這樣... Yield Curve Chart

回答

1

我想這樣做,而內大熊貓留純粹可能會非常棘手。您首先需要創建一個新的matplotlib圖形和斧頭。以下可能無法正常工作,但會給你一個好主意。

df['years']=[1/12.,0.25,0.5,1,2,3,5,7,10,20,30] 
fig = plt.figure() 
ax = fig.add_subplot(1,1,1) 
df.plot(x='years',y='today',ax=ax,kind='scatter') 
df.plot(x='years',y='month_ago',ax=ax,kind='scatter') 
plt.show() 

如果你想你的斧頭標籤看起來像你的圖表,你還需要設置你的軸的下限和上限,使他們看起來好,然後像做:

ax.set_xticklabels(list(df.index)) 
+0

是有比熊貓更好的方式嗎? – Brian

+1

@Brian,我的意思是你實際上需要在matplotlib中使用figure/axes來代替熊貓調用。 – alex314159