[Python] Problème Pmw et Matplotlib
Résolu
Gozmo
Messages postés
79
Date d'inscription
Statut
Membre
Dernière intervention
-
Gozmo Messages postés 79 Date d'inscription Statut Membre Dernière intervention -
Gozmo Messages postés 79 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Impossible de poster un nouveau sujet depuis hier (enc e qui me concerne du moins)?
Désolé, jusqu'içi, ca ne marchais pas...
Donc mon problème:
Devant générer des diagrammes circulaires avec Python 2.5, je me suis tourné vers Matplotlib, qui exauce parfaitement mes voeux (fonction pie()). Le problème: la mise en page utilise Pmw (ScrolledFrame() en particulier), et là, ça déraille...
Le code:
et l'erreur obtenue:
J'ai essayé de changer la méthode d'import (import pylab, import pylab as plt...) sans succés. Dans les doc et sur Google, je n'ai rien trouvé qui s'approche de ce problème.
Quelqu'un a t il une explication? Encore mieux, une solution? Ou une piste pour créer des diagrammes circulaires autrement?
Merci
Goz
Impossible de poster un nouveau sujet depuis hier (enc e qui me concerne du moins)?
Désolé, jusqu'içi, ca ne marchais pas...
Donc mon problème:
Devant générer des diagrammes circulaires avec Python 2.5, je me suis tourné vers Matplotlib, qui exauce parfaitement mes voeux (fonction pie()). Le problème: la mise en page utilise Pmw (ScrolledFrame() en particulier), et là, ça déraille...
Le code:
#!/usr/bin/env python # -*- coding: iso-8859-1 -*- import Image, ImageTk, ImageDraw import Tkinter, tkFileDialog import Pmw import matplotlib.pylab as plt class Traitement(Tkinter.Tk): def __init__(self,parent): Tkinter.Tk.__init__(self,parent) self.parent = parent self.geometry("700x500") self.frameSaisie = Pmw.ScrolledFrame(self,usehullsize=1,hull_width=1000, hull_height=600, borderframe=1, borderframe_borderwidth=1) self.frameSaisie.configure(vscrollmode='static',hscrollmode='none') self.frameSaisie.grid(row=0, column=0, rowspan=2) self.trait = [0.0,23,45,12,11,9] self.graph = DiagCirculaire(titre='T45', trait=self.trait, parent=self.frameSaisie.interior()) self.graph.grid(row=0,column=0) class DiagCirculaire(Tkinter.Canvas): "Dessine les camembert pour les traits ecologique" def __init__(self,titre,trait,parent): Tkinter.Canvas.__init__(self,parent,height=200,width=200) self.titre = titre self.parent = parent self.donnee = trait self.initialize() def initialize(self): plt.figure(1, figsize=(2,2)) ax = plt.axes([0.1, 0.1, 0.8, 0.8]) explode=(0, 0.05, 0,0,0,0) plt.pie(self.donnee, shadow=True) plt.savefig(self.titre+'.png') self.image = Image.open(self.titre+'.png') self.image = ImageTk.PhotoImage(self.image) self.create_image(100,100, image = self.image) if __name__ == "__main__": app = Traitement(None) app.title('Graphe2') app.configure(bg = "#ffffff") app.mainloop()
et l'erreur obtenue:
Traceback (most recent call last): File "diag_circu.py", line 49, in <module> app = Traitement(None) File "diag_circu.py", line 18, in __init__ borderframe_borderwidth=1) File "/usr/lib/python2.5/site-packages/Pmw/Pmw_1_3/lib/PmwScrolledFrame.py", line 115, in __init__ self._horizScrollbar.set(0.0, 1.0) File "/usr/lib/python2.5/lib-tk/Tkinter.py", line 2802, in set self.tk.call((self._w, 'set') + args) _tkinter.TclError: expected floating-point number but got "0.0"
J'ai essayé de changer la méthode d'import (import pylab, import pylab as plt...) sans succés. Dans les doc et sur Google, je n'ai rien trouvé qui s'approche de ce problème.
Quelqu'un a t il une explication? Encore mieux, une solution? Ou une piste pour créer des diagrammes circulaires autrement?
Merci
Goz
A voir également:
- [Python] Problème Pmw et Matplotlib
- Citizen code python avis - Accueil - Outils
- Python est introuvable. exúcutez sans argument pour procúder ó l ✓ - Forum Python
- Mot secret python pix ✓ - Forum Python
- Python par la pratique : 101 exercices corrigés pdf - Forum Python
- Exercice python - Forum Python