2015-04-16 60 views
0

我不認爲你需要所有的代碼來幫助我,這是3個月前的工作,但現在subplots沒有被添加到相同的數字。即我想要一個數字2乘以2,併爲我的表中的4個國家中的每一個填充不同的折線圖。我目前得到的是一個帶有4個空圖表和4個後續個人圖表的數字。爲什麼現在沒有正確添加到相同的圖表?使用for循環和python/matplotlib在圖中添加一個副圖

我已經升級了python和pandas,因爲那時候我使用的是anaconda(spyder)。我目前使用以下版本:

的Python 2.7.5 |蟒蛇1.8.0(64位) Matplotlib 1.3.1 熊貓0.15.2

for i, group in df.groupby('Country'): 
    chrt += 1 
    fig1.add_subplot(2,2, chrt) 
    #fig1.subplots_adjust(hspace=1) 
    group.plot(x='Month', y='Value (USD)',title= str(i)) 
+0

組是什麼樣的對象? (對於group.plot)我不是一個Python專家,但通常我在繪圖時所做的更像是ax = fig1.add_subplot(...),然後ax.plot(...涉及組的東西... ) – TravisJ

+0

感謝TravisJ,我想我只是在努力獲得(...涉及羣...的東西),當時我正在使用ax = fig1 ....方法。 – IcemanBerlin

回答

2

有幾件事情浮現在腦海中。確保fig1chrt已經完成初始化。然後,您可以使用ax關鍵字指定繪製哪個軸。

import matplotlib.pyplot as plt 
fig1 = plt.figure() 
chrt = 0 
for i, group in df.groupby('Country'): 
    chrt += 1 
    ax = fig1.add_subplot(2,2, chrt) 
    group.plot(x='Month', y='Value (USD)',title=str(i), ax=ax) 
+0

謝謝@Julien Spronck斧頭=斧頭是我沒有嘗試過的伎倆,仍然不明白它的一切,但它的工作原理。 – IcemanBerlin

+0

不客氣:-) –