我的問題非常簡單。我有這個函數爲數據框中的每一列創建一個特定的圖形。然而,輸出是7個獨立的圖。我可以做一個4×2的次要情節是這樣的:使用for循環添加到子圖形中
f, axarr = plt.subplots(4, 2, figsize = (10, 10))
這裏是我的陰謀代碼。我怎麼能/應該讓它填充在這個小區裏,而不是返回7個獨立的地塊?包括數據幀的頭部作參考
for index in weights.columns:
fig = plt.figure(figsize = (10, 6))
ax = fig.add_subplot(1, 1, 1)
##this gets the bottom axis to be in the middle so you can see
##clearly positive or negative returns
ax.spines['left'].set_position(('data', 0.0))
ax.spines['bottom'].set_position(('data', 0.0))
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.set_ylabel('{} One month forward return'.format(index))
ax.set_xlabel('Percent of Max Exposure')
##get the ticks in percentage format
ax.yaxis.set_major_formatter(FuncFormatter(lambda y, _: '{:.0%}'.format(y)))
ax.xaxis.set_major_formatter(FuncFormatter(lambda x, _: '{:.0%}'.format(x)))
plt.title('One Month Forward {} Returns Versus Total Exposure'.format(index))
plt.scatter(weights_scaled[index], forward_returns[index], marker = 'o')
weights_scaled.head()
缺貨[415]: US股票開發防爆U.S。 BMI新興BMI美國房地產
日期
1999-12-31 0.926819 0.882021 0.298016 0.0
2000-01-31 0.463410 0.882021 0.298016 1.0
2000-02-29 0.463410 0.882021 0.298016 0.5
2000年3月31日0.926819 0.882021 0.298016 1.0
2000年4月28日0.926819 0.441010 0.000000 1.0
Commodity Gold US Bonds
日期
1999-12-31 1.0 1.0 0.051282
2000-01-31 1.0 1.0 0.232785
2000-02-29 1.0 1.0 0.258426
2000年3月31日1.0 0.5 0.025641
2000年4月28日1.0 0.5 0.244795
等待,所以你只是希望自己的數據所有數據都在一個數字上而不是一個數字上?如果是這樣的話,你可能要考慮從循環中創建一個新的數字...... –