Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 07/05/2013, à 09:38

ewok2

pb d'affichage des graph sou matplotlib (python)

Bonjour
J'ai installé matplotlib sur mon PC Ubuntu (avec recompiltation des sources car c'est le 1er post que j'ai vu :-)
en ligne de commande 'import matplotlib" ne renvoi pas de message d'erreur.
Mais quand je fait :

import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(-5,5,100)
plt.plot(x,np.sin(x))  
plt.ylabel('fonction sinus')
plt.xlabel("l'axe des abcisses")
plt.show()

un prog type qui marche bien sur une autre machine...

Sur mon pc je n'ai ni figure affiché ni warning ni erreur!!!

Si vous avez des idées...

Merci

Hors ligne

#2 Le 07/05/2013, à 10:05

gl38

Re : pb d'affichage des graph sou matplotlib (python)

Le site de matplotlib dit que sous linux, le plus simple est d'installer les paquets de la distribution.
Je viens d'installer les paquet matplotlib et ipython et ce que synaptic a trouvé bon d'ajouter et ça marche tout seul pour le premier exemple :

from pylab import *

n = 256
X = np.linspace(-np.pi, np.pi, 256,endpoint=True)
C,S = np.cos(X), np.sin(X)
plot(X,C),plot(X,S)

#savefig("../figures/exercice_1.png",dpi=72)
show()

Cordialement,
Guy

Hors ligne

#3 Le 07/05/2013, à 10:30

elendil

Re : pb d'affichage des graph sou matplotlib (python)

gl38 a écrit :

Le site de matplotlib dit que sous linux, le plus simple est d'installer les paquets de la distribution.
Je viens d'installer les paquet matplotlib et ipython et ce que synaptic a trouvé bon d'ajouter

Une installation par les paquets est fortement recommandée car elle gère les dépendance.
Par contre ipython n'est absolument pas utile !

Matplotlib pouvant être utilisée sur un serveur web (pas d'interfacce graphique) les sources doivent laisser les dépendances graphiques optionnelles....
(c'est mon interprétation peut-être fausse ou pas correcte)

Sinon ajoute la ligne "plt.savefig("test.png)" juste avant le plt.show() soit :

import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(-5,5,100)
plt.plot(x,np.sin(x))  
plt.ylabel('fonction sinus')
plt.xlabel("l'axe des abcisses")
plt.savefig("test.png")
plt.show()

Si le fichier test.png est bien créé, c'est qu'il y a un problème de backend (d'affichage graphique).
Sois tu passes des heures à chercher qui fait quoi et quel backend utilisé/installé....
Soit tu fais un simple

sudo apt-get install python-matplotlib python-tk

Il faut de mémoire ajouter le paquet python-gtk2 pour avoir l'affichage graphique des plots (tk devrait être suffisant mais je ne me souvient plus....)
Et tout sera installé comme il faut avec le backend qu'il faut....

PS : il vaut mieux un :

import matplotlib.pyplot as plt 

qu'un

from pylab import *

Question mélagne des pinceaux dans les namespaces et quantité de chose importé (lourdeur du script).

Dernière modification par elendil (Le 07/05/2013, à 10:31)

Hors ligne