Matplotlib plots no aparecen en Mac OSX?

Estoy ejecutando Mac OSX 10.5.8. Instalé matplotlib usando macports. Obtengo algunos ejemplos de la galería matplotlib como este, sin modificaciones:

http://matplotlib.sourceforge.net/examples/api/unicode_minus.html

Lo ejecuto, no obtengo ningún error, pero la imagen no aparece. En Linux Ubuntu lo consigo.

¿Sabes lo que podría estar mal aquí?

Gracias

Puedo verificar esto en mi final también. Para arreglar, esto es lo que hice

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

Además, debemos cambiar el backend predeterminado a uno basado en GUI.

Edite el archivo ~/.matplotlib/matplotlibrc , y agregue:

 backend: GTKCairo 

Además, puede probar lo siguiente, lo que puede permitirle no necesitar los backends GTK o Cairo. Edite ~/.matplotlib/matplotlibrc y agregue:

 backend: MacOSX 

Con el puerto con esas variantes instaladas, esto también funciona, pero no requiere X11.


Por cierto, el error que vi fue el 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())) 

Tuve el mismo problema, incluso pude ver cómo se creó una nueva ventana de aplicación y desapareció de inmediato.

Solución simple – solo revisa si tienes

 plt.show() 

después de la ttwig

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 

Cuando intentas

 plt.savefig('myfilename.png') 

en lugar de

 plt.show() 

¿eso guarda la imagen correcta llamada myfilename.png en la ruta actual?

sólo para añadir una nota,

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

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 git@github.com: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

Solo tenía python 2.5 y no quería instalar python 2.6 en mi mac. Así que utilicé diferentes procedimientos mencionados 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 siguientes pasos:

1) Buscando dónde está el directorio “pygtk-2.0.pc” y localícelo. Por ejemplo el mío estaba ubicado en el siguiente directorio:

/ opt / local / lib / pkgconfig

2) Añadiendo la información de la ruta a la variable de entorno. Por ejemplo:

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

3) Descargue el archivo de información de configuración “matplotlibrc” del sitio web matplotlib http://matplotlib.sourceforge.net/_static/matplotlibrc

4) Cambie el backend a MacOSX en el archivo y guárdelo.

5) Copie el archivo al directorio .matplotlib. Puede ubicar el directorio en python con el siguiente comando:

 import matplotlib matplotlib.get_configdir() 

Haga lo siguiente si alguien está usando spyder.

1.) Inicie Spyder 2.3.5.2 desde Anaconda Launcher 2.) Vaya a preferencias -> consola IPython -> Gráficos -> Backend: lo cambió a “Automático” 3.) Seleccione “Aplicar” y cierre las preferencias 3.) Reinicie el núcleo de IPython 4.) Crear un gráfico simple como

Como trabajo temporal, se puede guardar la figura en un archivo .png / .jpg / .pdf y utilizar ese archivo por el momento.

 ## assuming price is out DataFrame that contains columns that we want to plot pdf_plot=price.plot().get_figure() pdf_plot.savefig('Stocks.pdf') 
 sudo port install py37-matplotlib +cairo+gtk3 ~/.matplotlib/matplotlibrc used backend: MacOSX 

Parecía funcionar en MacOS Mojave 10.14.4 con python 3.7 en el ejemplo unicode_minus.py anterior.