web-dev-qa-db-fra.com

Les graphiques Matplotlib n'apparaissent pas sous Mac OSX?

J'utilise Mac OSX 10.5.8. J'ai installé matplotlib en utilisant macports. Je reçois quelques exemples de la galerie matplotlib comme celle-ci, sans modification:

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

Je l'exécute, aucune erreur ne se produit, mais l'image ne s'affiche pas. Dans Linux Ubuntu, je le comprends.

Savez-vous ce qui pourrait être faux ici?

Merci

60
flow

Je peux vérifier cela aussi de mon côté. Pour réparer, voici ce que j'ai fait

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

En outre, nous devons modifier le système par défaut en un système basé sur une interface graphique.

Editez le fichier ~/.matplotlib/matplotlibrc et ajoutez:

backend: GTKCairo

Vous pouvez aussi essayer ce qui suit, ce qui vous permettra peut-être de ne plus avoir besoin des backends GTK ou Cairo . Editez ~/.matplotlib/matplotlibrc et ajoutez:

backend: MacOSX

Avec le port sur lequel ces variantes sont installées, cela fonctionne également, mais ne nécessite pas X11.


A propos, l'erreur que j'ai vue était la suivante:

/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()))
42
Bill Lynch

J'ai eu le même problème, même si je pouvais voir comment une nouvelle fenêtre d'application a été créée et a immédiatement disparu. 

Solution simple - vérifiez si vous avez 

plt.show()

après l'intrigue

83
layser

C'est ce qui a fonctionné pour moi. Je viens de changer l'importation de Matplotlib

import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt
34
ricardokrieg

Quand tu essaies 

plt.savefig('myfilename.png')

au lieu de 

plt.show()

cela enregistre-t-il l'image correcte nommée myfilename.png dans le chemin actuel?

10
ChristopheD

C'est ce qui a fonctionné pour moi:

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

Références:

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

3
xgMz

juste pour ajouter une note, 

Le fichier matplotlibrc n'était pas présent sur mon système et je devais télécharger une copie du site Web matplotlib. Les futurs utilisateurs devront peut-être faire de même.

3
Neil

Je n'avais que Python 2.5 et je ne voulais pas installer Python 2.6 sur mon mac. J'ai donc utilisé différentes procédures mentionnées dans le lien suivant pour résoudre ce problème:

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

Ce dont on a réellement besoin, ce sont les étapes suivantes:

1) Recherchez le répertoire "pygtk-2.0.pc" et localisez-le. Par exemple, le mien se trouvait dans le répertoire suivant: 

/ opt/local/lib/pkgconfig

2) Ajout des informations de chemin à la variable d'environnement. Par exemple:

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

3) Téléchargez le fichier d’informations de configuration "matplotlibrc" à partir du site Web de matplotlib http://matplotlib.sourceforge.net/_static/matplotlibrc

4) Modifiez le fichier backend en MacOSX dans le fichier et enregistrez-le.

5) Copiez le fichier dans le répertoire .matplotlib Vous pouvez localiser le répertoire en python à l'aide de la commande suivante: 

import matplotlib
matplotlib.get_configdir()
2
Reshad Hosseini

Mac est livré avec son propre python ( lu à partir d'ici , ce qui n'est pas le meilleur), je suggérerais simplement une installation propre de quelques Python 3.7 avec Anaconda et ensuite les présenter comme interprètes à PyCharm. tout fonctionnera correctement et vous n'aurez pas besoin d'ajouter de solutions ad-hoc telles que "backend: MacOSX" ou autre.

1
Hassan Bahaloo

Procédez comme suit si quelqu'un utilise spyder.

1.) Lancez Spyder 2.3.5.2 à partir d’Anaconda Launcher 2.) Allez dans les préférences -> Console IPython -> Graphiques -> Arrière-plan: changez-le en "Automatique" 3.) Redémarrez le noyau IPython 4.) Créez un graphique simple comme

0
Aditya Gaonkar

En tant que travail temporaire, vous pouvez enregistrer la figure dans un fichier .png/.jpg/.pdf et utiliser ce fichier pour le moment.

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

Semblait fonctionner sur MacOS Mojave 10.14.4 avec python 3.7 sur l'exemple unicode_minus.py ci-dessus.

0
LocoMoco10