2015-09-08 48 views
0

我有一個功能,我的繪圖。喜歡的東西:在ipython中繪製函數的多個繪圖窗口?

def myplot(data):  
    fig, ax = plt.subplots(10,10, figsize=(18,12)) 

    for i in range(10): 
     ax[i/10, i%10].imshow(data[i/10, i%10],cmap=plt.cm.gist_yarg, 
         interpolation='nearest', aspect='equal') 
    plt.show() 

#print the fist plot 
myplot(data1) 

#print another 
myplot(data2) 

當我運行使用ipython myscript.py腳本將myplot(data1)後暫停並不會恢復,直到我關閉繪圖窗口。我怎樣才能讓多個窗口打開?

+0

也許這將有助於:http://matplotlib.org/users/shell.html#controlling-interactive-updating –

回答

0

當然,只需從循環中移除plt.show()並將其放在腳本的末尾。每次創建新圖形(如plt.subplots(...)函數中)時,都會創建一個新窗口。

+0

但是,然後我將不得不等待一切完成。我希望在處理data2時看到第一個圖。 – Fequish

+0

該文檔提到了一個實驗性關鍵字「塊」。嘗試在循環中留下你的'plt.show()',但用'plt.show(block = False)'代替它。在我的機器上,它提供了所需的結果,但似乎在之後崩潰。 – jojonas

+0

沒有,沒有工作。 – Fequish

相關問題