Salva la trama in un file immagine invece di visualizzarla usando Matplotlib
Sto scrivendo uno script veloce e sporco per generare trame al volo. Sto usando il codice qui sotto (dalla documentazione di Matplotlib) come punto di partenza:
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
Non voglio visualizzare la trama su una GUI, invece, voglio salvare la trama in un file (diciamo pippo.png), in modo che, per esempio, possa essere utilizzato in script batch. Come posso farlo?
1049
3
Mentre la domanda ha ricevuto una risposta, vorrei aggiungere alcuni suggerimenti utili quando si usa matplotlib.pyplot.savefig. Il formato del file può essere specificato dall'estensione:
Darà rispettivamente un output rasterizzato o vettorializzato, entrambi i quali potrebbero essere utili. Inoltre, troverete che
pylab
lascia un generoso, spesso indesiderabile, spazio bianco intorno all'immagine. Rimuovilo con:La soluzione è:
Se non vi piace il concetto di "corrente" figura, fate: