J'écris un script rapide et sale pour générer des tracés à la volée. J'utilise le code ci-dessous (de la documentation Matplotlib ) comme point de départ:
from pylab import figure, axes, pie, title, show
# Make a square figure and axes
figure(1, figsize=(6, 6))
ax = axes([0.1, 0.1, 0.8, 0.8])
labels = 'Frogs', 'Hogs', 'Dogs', 'Logs'
fracs = [15, 30, 45, 10]
explode = (0, 0.05, 0, 0)
pie(fracs, explode=explode, labels=labels, autopct='%1.1f%%', shadow=True)
title('Raining Hogs and Dogs', bbox={'facecolor': '0.8', 'pad': 5})
show() # Actually, don't show, just save to foo.png
Je ne veux pas afficher le tracé sur une interface graphique, au lieu de cela, je veux enregistrer le tracé dans un fichier (disons foo.png), afin que, par exemple, il puisse être utilisé dans des scripts de traitement par lots. Comment je fais ça?
savefig
méthode. Vous pouvez donc appeler fig = plt.figure()
alors fig.savefig(...)
.
plt.close(fig)
ce qui est particulièrement important dans les grandes boucles. Sinon, les chiffres restent ouverts et attendent en mémoire et tous les chiffres ouverts seront affichés lors de l'exécutionplt.show()