création de deux graphiques à la fois
bonjour,
j'aimerais afficher, à l'aide de Tkinter, deux graphiques en même temps, mais sur deux fenêtres différentes.
Mon problème est qu'il n'affiche rien du tout.
voici une partie de mon code.
Code:
1 2 3 4 5 6 7 8
| def affiche(self, v, larg=400, haut=200):
#construction du widget parent
Canvas.__init__(self)
self.configure(width=larg, height=haut)
self.larg, self.haut = larg, haut
#tracé des axes de référence
self.create_line(10, haut/2, larg, haut/2, arrow=LAST)
self.create_line(10, haut-5, 10, 5, arrow=LAST) |
Là, il créé le canevas dans lequel la courbe sera affichée.
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| if v ==1 :
data = io.array_import.read_array(bis)
else :
data = io.array_import.read_array(bis2)
X = data[:,0] #colonne 1(time)
Y = data[:,1] #colonne 2(µV)
coord = []
i, j = 0, 0
while i < len(X) :
coord.append((X[i],Y[j]))
i, j = i+1, j+1 |
et là, il reprend les données d'un fichier pour récolter les coordonnées de chaque point de la courbe.
Code:
1 2
| c = self.create_line(coord, fill='red', smooth=1)
return c |
et ici, il est censé afficher le graphique, mais il n'affiche rien du tout.
qq pourrait m'aider, svp ?
Re: création de deux graphiques à la fois
Pour utiliser plusieurs fenêtres, il faut utiliser Toplevel
exemple:
Code:
1 2 3 4 5 6 7 8 9
| import Tkinter as Tk
root = Tk.Tk()
def toto():
tp = Tk.Toplevel()
btn = Tk.Button(tp, text= 'tutu')
btn.pack()
btn = Tk.Button(text= 'toto', command = toto)
btn.pack()
root.mainloop() |
si tu veux créer une fenêtre spéciale pour ton canvas, il faut écrire un truc du style:
Code:
1 2 3 4 5 6 7
| import Tkinter as Tk
def affiche(self, v, larg=400, haut=200):
#construction du widget parent
fen = Tk.Toplevel()
canvas = Tk.Canvas(fen)
...
canvas.pack() ## ne pas oublier de l'afficher |