2010-03-24 12 views

risposta

39

Posso verificarlo anche dalla mia parte. Per risolvere il problema, ecco quello che ho fatto

sudo port install py25-matplotlib +cairo+gtk2 
sudo port install py26-matplotlib +cairo+gtk2 

Inoltre, abbiamo bisogno di cambiare il backend predefinito a uno GUI basata.

Modificare il file ~/.matplotlib/matplotlibrc, e aggiungere:

backend: GTKCairo 

Inoltre, si può provare la seguente, che può consentire di non è necessario il backend GTK o Il Cairo. Modifica ~/.matplotlib/matplotlibrc e aggiungere:

backend: MacOSX 

Con il porto con quelle varianti installati, questo funziona pure, ma non richiede X11.


Tra l'altro, l'errore che ho visto è stata la seguente:

/opt/local/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/matplotlib/backends/__init__.py:41: UserWarning: 
Your currently selected backend, 'Agg' does not support show(). 
Please select a GUI backend in your matplotlibrc file ('/Users/wlynch/.matplotlib/matplotlibrc') or with matplotlib.use() 
(backend, matplotlib.matplotlib_fname())) 
+0

ora funziona, grazie mille! – flow

+1

Sei un risparmiatore di vita. Dopo aver trascorso più di 3 ore a installare tutte le mie porte, ho finalmente potuto testare i miei script e non si sarebbe verificato. Grazie mille. – rwilliams

+2

Quale hai finito per usare? il backend MacOSX o quello GTKCairo? –

8

Quando si tenta

plt.savefig('myfilename.png') 

invece di

plt.show() 

vuol salvare l'immagine corretta di nome myfilename.png nel percorso corrente?

+0

anche: questo suggerisce (per il 'non mostrare up 'parte) che potrebbe essere necessario avere un file matplotlibrc (cercarlo prima) e cambiare il backend in tkAgg: http://newmediaandcapitalmarkets.org/component/content/article/68-how-i-got-matplotlib- working-on-my-m acbook.html. Quale pitone stai usando? – ChristopheD

+0

Buon lavoro! – user1893354

3

solo per aggiungere una nota,

Il file matplotlibrc non era presente sul mio sistema e ho dovuto per scaricare una copia dal sito web matplotlib. I futuri utenti potrebbero dover fare lo stesso.

+0

grazie. questo è quello che mi mancava! – pocketfullofcheese

2

Avevo solo python 2.5 e non volevo installare python 2.6 sul mio mac. Così ho usato procedura diversa di cui il seguente Link per risolvere questo problema:

http://www.gtkforums.com/viewtopic.php?f=3&t=54928

cosa che uno ha bisogno in realtà è la seguente procedura:

1) Ricerca dove è la pygtk- directory" 2.0.pc "e individuarlo.Per esempio miniera è stata trova nella directory seguente:

/opt/local/lib/pkgconfig

2) Aggiungendo le informazioni sul percorso per envirement variabile. Per esempio:

PKG_CONFIG_PATH=/opt/local/lib/pkgconfig 
export PKG_CONFIG_PATH 

3) Scarica le informazioni del file di configurazione "matplotlibrc" dal sito matplotlib http://matplotlib.sourceforge.net/_static/matplotlibrc

4) Variazione di back-end per MacOSX nel file e salvarlo

5) Copiare il file alla directory .matplotlib Puoi trovare la directory in python con il seguente comando:

import matplotlib 
matplotlib.get_configdir() 
2

Questo è ciò che ha funzionato per me:

brew install pkg-config 
brew link pkg-config 
brew install pygtk 
brew install freetype 
brew install libpng 

sudo ln -s /usr/local/Cellar/freetype/*/lib/pkgconfig/freetype2.pc /usr/local/lib/pkgconfig/freetype2.pc 

git clone [email protected]:matplotlib/matplotlib.git 
cd matplotlib 
python setup.py build 
python setup.py install 

Riferimenti:

http://blog.caoyuan.me/2012/08/matplotlib-error-mac-os-x/ http://matplotlib.org/faq/installing_faq.html#install-from-git http://www.tapir.caltech.edu/~dtsang/python.html

+0

questo in combinazione con mettere 'backend: tkAgg' in ~/.matplotlib/matplotlibrc ha funzionato per me – user2079802

+0

Grazie mille! Dopo tutto l'agonizzante roaming in google, finalmente questo ha risolto il problema per me! – hmi

16

Questo è ciò che ha funzionato per me. Ho appena cambiato l'importazione di Matplotlib

import matplotlib 
matplotlib.use('TkAgg') 
import matplotlib.pyplot as plt 
+0

questo ha funzionato anche per me su mac OS X all'interno di un ambiente virtuale –

43

Ho avuto lo stesso problema, anche ho potuto vedere come una nuova finestra di applicazione è stato creato e subito scomparve.

soluzione semplice - basta controllare se avete

plt.show() 

dopo la trama

+1

Questa è stata la risposta più semplice che ha funzionato per me. Non ho dovuto installare pacchetti aggiuntivi o configurare nulla. Ho appena chiamato plot.show() e l'immagine è apparsa. –

+1

Questo ha funzionato per me con lo stesso problema su 'pylab'. Grazie! –

+0

ha funzionato anche per me. è necessario a causa di un bug o è intenzionale che devi chiamare show()? – gph

-1

basta copiare e incollare questo nel terminale:

echo "backend: TkAgg" >> ~/.matplotlib/matplotlibrc 
Problemi correlati