Mam ten kod do tworzenia wielu działek ze wszystkich plików tekstowych w folderze. Działa idealnie dobrze i pokazuje działki, ale nie mogę się dowiedzieć, jak je wszystkie zapisać.Zapisywanie wielu działek
import re
import numpy as np
import matplotlib.pyplot as plt
import pylab as pl
import os
rootdir='C:\documents\Neighbors for each search id'
for subdir,dirs,files in os.walk(rootdir):
for file in files:
f=open(os.path.join(subdir,file),'r')
print file
data=np.loadtxt(f)
#plot data
pl.plot(data[:,1], data[:,2], 'gs')
#Put in the errors
pl.errorbar(data[:,1], data[:,2], data[:,3], data[:,4], fmt='ro')
#Dashed lines showing pmRa=0 and pmDec=0
pl.axvline(0,linestyle='--', color='k')
pl.axhline(0,linestyle='--', color='k')
pl.show()
f.close()
już wcześniej stosowany
fileName="C:\documents\FirstPlot.png"
plt.savefig(fileName, format="png")
ale myślę, że to po prostu zapisuje każdy wykres w jednym pliku i nadpisuje ostatni.
Witam, dziękuję za pomoc. Próbowałem tej metody i jej wszystkich działa, ale wykresy są puste. Użyłem również pl.show(), a oni wyprodukowali właściwą fabułę, po prostu nie faktyczny bit oszczędzania. jakieś pomysły? – user1841859
@ user1841859: Nie mam pojęcia. Być może 'pl.show()' jest wymagane, zanim będzie można go zapisać? Sam nie używałem 'pylab'. –
plt.show() nie może przyjść przed plt.savefig Musisz go najpierw zapisać przed wyświetleniem. – arynaq