de Wissam » 17 Avr 2019, 10:49
J'essaie d'écrire un script permettant de tracer un graphique à l'aide de valeur expérimentales, la régression linéaire qui va avec et de faire apparaitre dans une fenêtre l'équation de la droite
L'intérêt, outre l'entrainement est d'avoir un script permettant de tracer rapidement un graphique expérimental et de l'exporter en pdf pour le distribuer aux élèves, le mettre dans une présentation etc...
J'utilise les bibliothèques matplotlib et numpy pour le tracer de la courbe et la modélisation.
Mais je ne parviens pas à afficher de manière satisfaisante l'équation de la droite (dans la légende par exemple c'est vraiment moche).
J'importe donc le module (ou bibliothèque, je ne suis pas certains de saisir la différence) Tkinter qui permet de créer des interfaces graphique, notamment des fenêtre.
Le bout de code que j'ajoute fonctionne quand je l'utilise tout seul: j'obtient une fenêtre avec écris ce que je veux. Mais dans le scripts ci-dessous, je n'ai pas la fenêtre qui s'affiche...
Si quelqu'un a une idée...
Voici le script en question:
import matplotlib.pyplot as plt
import numpy as np
from tkinter import *
# Données expérimentales
x = [0.5, 1, 2, 3, 4, 5]
y = [0.080, 0.14, 0.29, 0.42, 0.57, 0.73]
p = np.polyfit(x,y,1)
f = np.poly1d(p)
# Tracer de la courbe
print (p)
print (f)
listeX= []
listeY = []
for i in np.arange(1, 7, 0.05):
listeX.append(i)
listeY.append(f(i))
plt.plot(listeX, listeY, label="modelisation")
plt.plot(x, y, "go--", label='Courbe experimentale')
plt.legend()
plt.xlabel("c (mg/L)")
plt.ylabel("A_660")
plt.show()
# Création de la fenêtre principale (main window)
Mafenetre = Tk()
# Création d'un widget Label (texte 'Bonjour tout le monde !')
Label1 = Label(Mafenetre,text="Hello World!")
# Positionnement du widget avec la méthode pack()
Label1.pack()
# Lancement du gestionnaire d'événements
Mafenetre.mainloop()
PS: oui, on pourrait le faire avec Excel mais c'est quand même plus cool avec Python.