2010-03-24 7 views

Respuesta

39

Puedo verificar esto en mi extremo también. Para solucionar, esto es lo que hice

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

Además, tenemos que cambiar el backend por defecto a una basada en GUI.

Editar el archivo ~/.matplotlib/matplotlibrc, y añadir:

backend: GTKCairo 

Además, puede intentar lo siguiente, que puede permitir que usted no necesita los backends GTK o El Cairo. Editar ~/.matplotlib/matplotlibrc y añadir:

backend: MacOSX 

Con el puerto con esas variantes instaladas, esto funciona así, pero no requiere X11.


Por cierto, el error que vi fue la siguiente:

/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

ahora funciona, ¡muchas gracias! – flow

+1

Eres un salvavidas. Después de pasar más de 3 horas con todos mis puertos instalados, finalmente pude probar mis scripts y no apareció. Un millón de gracias. – rwilliams

+2

¿Qué terminaste usando? el backend MacOSX o el GTKCairo uno? –

8

Al intentar

plt.savefig('myfilename.png') 

en lugar de

plt.show() 

¿eso guardar la imagen correcta llamado myfilename.png en la ruta actual?

+0

También: esto sugiere (por el 'no mostrar up ') que puede necesitar tener un archivo matplotlibrc (búsquelo primero) y cambie el backend a tkAgg: http://newmediaandcapitalmarkets.org/component/content/article/68-how-i-got-matplotlib- trabajando-en-mi-m acbook.html. ¿Qué pitón estás usando? – ChristopheD

+0

¡Buen trabajo! – user1893354

3

sólo para añadir una nota,

El archivo matplotlibrc no estaba presente en mi sistema y tuve que para descargar una copia del sitio web matplotlib. Los futuros usuarios pueden tener que hacer lo mismo.

+0

gracias. ¡Eso es lo que me estaba perdiendo! – pocketfullofcheese

2

Solo tenía Python 2.5 y no quería instalar Python 2.6 en mi mac. Así que utilicé procedimiento diferente se menciona en el siguiente enlace para resolver este problema:

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

Lo que uno realmente necesita es los pasos siguientes:

1) Buscando dónde está el pygtk- directorio" 2.0.pc "y ubíquelo.Por ejemplo mina se encuentra en el directorio siguiente:

/opt/local/lib/pkgconfig

2) Adición de la información de ruta a envirement variable. Por ejemplo:

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

3) Descargar el archivo de información de configuración "matplotlibrc" de la página web matplotlib http://matplotlib.sourceforge.net/_static/matplotlibrc

4) Cambio backend para MacOSX en el archivo y guardarlo

5) Copia el archivo al directorio .matplotlib puede localizar el directorio en el pitón por el siguiente comando:

import matplotlib 
matplotlib.get_configdir() 
2

Esto es lo que funcionó para mí:

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 

Referencias:

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

esto en combinación con poner 'backend: tkAgg' en ~/.matplotlib/matplotlibrc funcionó para mí – user2079802

+0

¡Gracias muchísimo! Después de todo el agotador roaming en Google, ¡finalmente esto resolvió el problema para mí! – hmi

16

Esto es lo que funcionó para mí. Acabo de cambiar la importación de Matplotlib

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

esto también funcionó para mí en mac OS X dentro de un entorno virtual –

43

que tenía el mismo problema, incluso pude ver cómo se creó una nueva ventana de aplicación y desapareció inmediatamente.

solución simple - sólo comprobar si tiene

plt.show() 

después de la trama

+1

Esta fue la respuesta más simple que funcionó para mí. No tuve que instalar ningún paquete adicional ni configurar nada. Recién llamado plot.show() y apareció la imagen. –

+1

Esto funcionó para mí con el mismo problema en 'pylab'. ¡Gracias! –

+0

funcionó para mí, también. ¿Es esto necesario debido a un error o es intencional que necesita llamar a show()? – gph

-1

simplemente copiar y pegar esto en su terminal:

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