¿Cómo podría guardar varios gráficos en una carpeta utilizando Python?

Aquí está mi progtwig en Python y estoy tratando de guardar varios gráficos en una sola carpeta pero no parece funcionar. ¿Cómo podría hacer esto por favor?

for i in range(0:244): plt.figure() y = numpy.array(Data_EMG[i,:]) x = pylab.linspace(EMG_start, EMG_stop, Amount_samples) plt.xlabel('Time(ms)') plt.ylabel('EMG voltage(microV)') pylab.plot(x, y) pylab.show(block=True) 

En primer lugar compruebe la identificación. Esperemos que su código realmente lea

 for i in range(0:244): plt.figure() y = numpy.array(Data_EMG[i,:]) x = pylab.linspace(EMG_start, EMG_stop, Amount_samples) plt.xlabel('Time(ms)') plt.ylabel('EMG voltage(microV)') pylab.plot(x, y) pylab.show(block=True) 

En cada iteración generas completamente una nueva figura. Eso es muy ineficaz. Además, solo trazas tu figura en la pantalla y no la guardas. Mejor es

 from os import path data = numpy.array(Data_EMG) # convert complete dataset into numpy-array x = pylab.linspace(EMG_start, EMG_stop, Amount_samples) # doesn´t change in loop anyway outpath = "path/of/your/folder/" fig, ax = plt.subplots() # generate figure with axes image, = ax.plot(x,data[0]) # initialize plot ax.xlabel('Time(ms)') ax.ylabel('EMG voltage(microV)') plt.draw() fig.savefig(path.join(outpath,"dataname_0.png") for i in range(1, len(data)): image.set_data(x,data[i]) plt.draw() fig.savefig(path.join(outpath,"dataname_{0}.png".format(i)) 

Debería ser mucho más rápido.

Puede utilizar la función savefig .

 for i in range(0:244): plt.figure() y = numpy.array(Data_EMG[i,:]) x = pylab.linspace(EMG_start, EMG_stop, Amount_samples) plt.xlabel('Time(ms)') plt.ylabel('EMG voltage(microV)') plt.savefig('EMG {0}.jpg'.format(i))