如何格式化缺少日期的x轴时间序列刻度线

时间:2015-10-21 19:18:39

标签: python matplotlib

如何格式化x轴以使周期之间的间距为"以缩放"。同样,10yr和30yr之间的距离应远大于1yr和2yr之间的距离。

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 个答案:

答案 0 :(得分: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))