所以我有一個功能generategraph(文件),它正確地創建基於參數的數據的條形圖,然後保存它。這是保存它的部分。Matplotlib savefig()在多個圖形保持儲蓄在同一圖形
plt.show()
savefile = file.split('.txt')[0] + '.png'
plt.savefig(savefile)
然後在main中,我會通過一組文件並在每個文件上調用generategraph。
for fil in files:
generategraph(fil)
plt.show()給了我正確的圖形(不同的圖形每次),但是當我去保存的人物,他們都是同一個圖(中所以LEN(文件)的保存的數字號碼,但每一個是第一個文件的圖形,如果這是有道理的)。我只是困惑,因爲plt.show()是做什麼的我想plt.savefig做。
每一個數字是每一個不同的名稱保存時間在我寫的代碼中。例如,如果我有3個文件名爲「a.txt中,b.txt,c.txt」我的代碼將通過各一個,基於其數據的圖形,然後將其保存爲「a.png,b.png ,c.png「。代碼的這部分工作,因爲我最終與這些.png文件。問題是這些.png文件中的每一個都具有相同的圖形。但是plt.show()顯示的圖是正確的圖。我只是困惑,因爲我正在保存並在代碼中顯示它們。它應該是一樣的,但不是。 –
OK,好知道 - 我編輯我的答案,提示放置'plt.show()'plt.savefig後'()' –
完善,.savefig後放置.show()()解決了這一問題。謝謝! –