したがって、パラメータのデータに基づいて棒グラフを正しく作成して保存する関数generategraph(file)があります。ここにそれを保存する部分があります。複数グラフ上のMatplotlib savefig()は同じグラフを保存し続けます
plt.show()
savefile = file.split('.txt')[0] + '.png'
plt.savefig(savefile)
次に、メインでは、一連のファイルを調べ、それぞれについてジェネリックグラフを呼び出します。
for fil in files:
generategraph(fil)
plt.showは()私が正しいグラフ(異なるグラフ毎回)を与えるが、私は保存された数字に行くとき、彼らは同じグラフ(のすべてのようでlen(ファイルです)保存された数字の数が、それが意味を成すならば、それぞれが最初のファイルのグラフです)。私はplt.savefigがしたいものをplt.show()がやっているので、ちょうど混乱しています。
を各図は、それぞれ別の名前で保存しています私が書いたコードの時間。例えば、 "a.txt、b.txt、c.txt"という3つのファイルがある場合、私のコードはそれぞれのコードを通り、そのデータに基づいてグラフを生成し、それを "a.png、b.png"として保存します、c.png "コードのこの部分は、これらの.pngファイルで終了します。問題は、これらの.pngファイルのそれぞれが同じグラフであることです。しかし、plt.show()で表示されるグラフは正しいグラフです。私はコード内の同じ場所に保存して表示しているので、ちょっと混乱しました。それは同じではなく、そうでなければならない。 –
OK、知っておきたい - 私はplt.savefig()の後に 'plt.show()'を置くことを提案して私の答えを編集しました。 –
.savefig()の後に.show()を置いてください。ありがとう! –