2015-12-14 77 views
1

我寫了一些圖形以pdf格式,如下所示。它有效,但有兩個非常惱人的問題,如何阻止pyplot彈出數字

1)當循環運行時,我看到很多窗口('圖1')彈出。我認爲命令plt.close(fig)不能按預期工作。這'真的很煩人,因爲我可能會在運行時做其他事情,而這些彈出窗口阻止了我對其他任務的看法。

2)可能與1)有關,內存使用量急劇增加。在我的真實劇本中,繪製50頁圖的東西吃了> 32 Gb的內存。這怎麼可能?!

with PdfPages('Manyplots.pdf') as pdf: 
    for j in xrange(100): 
    fig = plt.figure(1, figsize=(5,5)) 
    for fr in xrange(9): 
     pp = fig.add_subplot(3,3,fr+1) 
     pp.imshow(x, cmap=plt.cm.gray) 
    pdf.savefig() 
    plt.close(fig) 

我的問題是

1)任何形式的劇情完成後關閉一個數字?

2)更好的是,如何抑制空白圖彈出,因爲它真的應該寫在背景中的外部文件,

3)什麼更好的辦法來保存序列圖來的多個頁面PDF?

+0

對於1和2,您是否可以刪除imshow調用? – Ric

+0

不確定你的意思?請詳細說明。 – horaceT

+0

你使用的是什麼版本的matplotlib?什麼操作系統?我無法在Ubuntu 14.04上使用matplotlib 1.5重現此操作。 – wflynny

回答

-1

找到問題的原因。我的主要腳本包括一個人的實用腳本,其中進口pyplot並有一個額外的行的import

import matplotlib.pyplot as plt 
plt.ion() 

plt.ion被註釋掉,在彈出窗口都沒有了。

相關問題