[Python] Tracé de graphes

Résolu
Bonjour à tous
Voici mon code :
"def Trace_Graphe(matrice, param, nb_line_param) :
root.wm_title("Test")
f = Figure(figsize=(5,4), dpi=100)
a = f.add_subplot(111)

x = matrice[param[0]]
y = matrice[param[2]]
z = matrice[param[3]]
a.semilogy(x, y, 'r', x, z, 'b')
a.legend((param[2], param[3]))
a.grid(True)
canvas = FigureCanvasTkAgg(f, master=root)
canvas.show()
canvas.get_tk_widget().pack(side=Tk.TOP, fill=Tk.BOTH, expand=1)
Tk.mainloop()
"
J'aimerais savoir comment faire pour afficher le xlabel de mon graphe.
Car si je fais "a.xlabel(toto)", il me renoie l'erreur :AttributeError: Subplot instance has no attribute 'xlabel'.
Si je mets juste xlabel("toto"), il tourne en boucle sans me redonner la main.

Et une deuxième question (purement esthétique) : est-il possible de rendre la fenêtre de légende déplaçable (car elle est parfois sur les courbes)?
Merci beaucoup

1 réponse

  1. Modérateur
    1)
    a.set_xlabel('toto')
    a.set_ylabel('titi')


    2)

     a.legend((param[2], param[3]),loc='best')


    Le loc='best' demande à matplotlib de faire le placement le plus intelligent possible de la légende.
    (Mais c'est vrai que les choix ne sont pas toujours très heureux. Je n'ai pas encore trop creusé de ce côté là)
    0
    1. Ah c'était donc set_xlabel et non xlabel.......
      Merci beaucoup
      0