Ho appena aggiornato matplotlib alla versione 1.1.0 sul mio sistema e ora mi consente di salvare in jpg con savefig
.
per l'aggiornamento a 1.1.0 matplotlib con pip
, utilizzare questo comando:
pip install -U 'http://sourceforge.net/projects/matplotlib/files/matplotlib/matplotlib-1.1.0/matplotlib-1.1.0.tar.gz/download'
EDIT (per rispondere alle osservazioni):
pylab
è semplicemente un'aggregazione del matplotlib.pyplot e gli spazi dei nomi di Numpy (così come alcuni altri) hanno creato un singolo spazio dei nomi.
Sul mio sistema, pylab
è proprio questo:
from matplotlib.pylab import *
import matplotlib.pylab
__doc__ = matplotlib.pylab.__doc__
Si può vedere che pylab
è solo un altro spazio dei nomi nella propria installazione matplotlib. Pertanto, non importa se lo si importa con pylab
o con matplotlib.pyplot
.
Se il problema persiste, suppongo che il backend di macosx non supporti il salvataggio di grafici su jpg. Potresti provare a utilizzare un back-end diverso. Vedere here per ulteriori informazioni.
Puoi esportare in png e convertire utilizzando imagemagick? – Yann
Non direttamente correlato al problema, ma la grafica al tratto tipicamente prodotta da matplotlib non funziona bene con l'algoritmo di compressione utilizzato dal formato JPEG che è stato progettato per fotografie sfocate. Confronta per es. la nitidezza delle linee nella risposta di Yann o http://img.labnol.org/di/jpg_vs_png.png –
Per le figure che mostrano punti, linee e/o curve, uso sempre un formato di grafica vettoriale come eps, ps, pdf e penso che emf piuttosto che un formato grafico raster come png o jpg. Questo produce figure che sono scalabili senza perdita di risoluzione e dimensioni di file molto più piccole. Passando da png a pdf, potresti ridurre le dimensioni dell'immagine da 400 kB a 40 kB. Otterrete risultati simili con emf e MS Office (se non siete abbastanza fortunati da usare LaTeX) gestisce bene emf. – Chad