Les membranes d'un haut parleur
from tkinter.filedialog import askopenfilename import matplotlib.pyplot as plt #on peut donner le chemin d'accès vers le fichier ou la fonction askopenfilename name = askopenfilename(filetypes =(("Fichier CSV", "*.csv"),("Fichier Texte","*.txt"),("Tous les fichiers","*.*")),title = "Choisir un fichier") sep = ";" #caractère séparateur du csv -peut être une virgule, un point-virgule ou une tabulation noté \t entete = 1 #nombre de lignes d'entete f = open(name,"r") data = f.readlines() #on lit toutes les lignes et on met ça dans une liste -un élément par ligne- f.close() #on referme le fichier data = data[ entete : ] #on supprime les lignes d'en-tête qui ne nous intéressent pas #on construit les listes de valeurs utiles t = [] ax = [] ay = [] az = [] for ligne in data: ligne = ligne.replace("," , ".") #change les virgules en point => format numérique différent sur excel et sur python ligne = ligne.strip().split(sep) #on sépare les différents élément en utilisant le caractère séparateur défini ligne = list(map(float,ligne)) #on converti chaque élément en flottant #on rentre les valeurs dans les lites adaptées t.append(ligne[0]) ax.append(ligne[1]) ay.append(ligne[2]) az.append(ligne[3]) plt.subplot(3,1,1) plt.plot(t,ax,"r",label="ax = f(t)") plt.legend() plt.xlabel("t (s)") plt.ylabel("ax (m.s\u207B\u00B2)") plt.subplot(3,1,2) plt.plot(t,ay,"g",label="ay = f(t)") plt.legend() plt.xlabel("t (s)") plt.ylabel("ay (m.s\u207B\u00B2)") plt.subplot(3,1,3) plt.plot(t,az,"b",label="az = f(t)") plt.legend() plt.xlabel("t (s)") plt.ylabel("az (m.s\u207B\u00B2)") plt.show()
donne