web-dev-qa-db-fra.com

Enregistrer l'image avec matplotlib.pyplot

C'est une question très simple mais je dois mal comprendre l'utilisation de pyplot et figure ou autre chose. Je trace des images et j'aimerais les enregistrer au lieu de simplement les montrer et les enregistrer à la main. Jusqu'à présent, j'ai essayé:

import matplotlib.pyplot as plt
fig = plt.figure()
plt.plot(d,c1[0:100],'b--',d,c2[0:100],'r--',d,c3[0:100],'g--',figure = fig) 
plt.ylabel("concentration")
plt.xlabel("distance")
plt.show()
plt.savefig('./Results/evol_conc_v'+str(vinit)+'a_'+str(a)+'.png')

Le fichier créé est vide, mais l'image montrée était bonne. La question similaire existante ne semble pas s'appliquer.

10
alpagarou

Débarasse-toi du

plt.show()

ou placez-le en dessous de l'appel savefig.

Ou tu fais ça

plt.show()
fig.savefig('./Results/evol_conc_v'+str(vinit)+'a_'+str(a)+'.png') # Use fig. here

puisque vous créez déjà un objet figure au début.

18
lmNt