Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Tracer une courbe à partir d'un fichier text

4 réponses
Avatar
baladjy
Bonjour =C3=A0 tous,

Je suis d=C3=A9butant sur python. Je souhaiterai savoir comment on fait pou=
r tracer une courbe =C3=A0 partir d'un fichier text

Voici les donn=C3=A9es dans le fichier text :

X Y
0 47047.969
1 46959.758
2 46855.414
3 46701.742
4 46354.426
5 44898.340
6 36412.832
7 18628.641
8 7671.260
9 5338.369
10 4831.740


voici le code que j'ai =C3=A9cris :

import matplotlib.pyplot as plt
import numpy as np

f =3D open("Values.txt" , 'r')
t =3D f.readlines()
t.remove(t[0])
list =3D []
for i in t:
list.append(i.split())

for i in range(len(list)):
value=3Dlist[i]
#print(value)
w =3D[]
for i in range(len(value)):
w =3D value[i]
w =3D float(w)
y =3D []
y.append(w)
print(y[:,0])


Comment fait on pour cr=C3=A9er une liste pour x et une autre liste pour y?
et ensuite le tracer ?

Merci,=20
cordialement,

4 réponses

Avatar
baladjy
Bonsoir,
Merci pour votre support je vais essayer et je vous tiens au courant.
Cdlt
KB
Avatar
yves
Le Sat, 20 Jan 2018 06:59:50 -0800, baladjy a écrit:
Bonjour,
X Y 0 47047.969 1 46959.758 2 46855.414 3 46701.742

4 46354.426 5
44898.340 6 36412.832 7 18628.641 8 7671.260 9 5338.369

10 4831.740
Je n'ai pas vraiment compris comment est structuré le fichier txt
(comment savoir ce qui est X et ce qui est Y sans autre information ?).
Peut être parce que le formatage s'est perdu dans le forum, ou dans mon
lecteur de news ?
Mais pour utiliser le fichier txt, il est sans doute préférable
maintenant d'utiliser "with", de cette façon
with open("monfichier.txt") as f:
for line in f:
print line
# or do what you want with line
@+
--
Yves
Avatar
yves
Le Sun, 21 Jan 2018 10:35:03 +0000, yves a écrit:
Je n'ai pas vraiment compris comment est structuré le fichier txt

Par exemple, que donne:
with open("Values.txt") as f:
print [line.split() for line in f]
?
@+
--
Yves
Avatar
marc
Bonjour,
moyennant une petite modification du fichier texte ( ajout d'un # au
début de la première ligne ( X Y)):
import matplotlib.pyplot as plt
import numpy as np
data = np.loadtxt("Values.txt")
plt.plot(data[:,0],data[:,1],"ro")
plt.show()
devrait afficher la courbe
Pour utiliser le fichier tel quel ( sans le dièze ) il faut remplacer la
ligne ci dessus avec le loadtxt par :
f = open("Values.txt" , 'r')
f.readline() # lit la premiere ligne
data = np.loadtxt(f)
f.close()
Dans les deux cas data est un tableau numpy de 10 lignes et 2 colonnes.
La première colonne data[:,0] est x, data[:,1] la deuxième colonne est y.
Cordialement.
Marc
Le 20/01/2018 à 15:59, a écrit :
Bonjour à tous,
Je suis débutant sur python. Je souhaiterai savoir comment on fait pour tracer une courbe à partir d'un fichier text
Voici les données dans le fichier text :
X Y
0 47047.969
1 46959.758
2 46855.414
3 46701.742
4 46354.426
5 44898.340
6 36412.832
7 18628.641
8 7671.260
9 5338.369
10 4831.740
voici le code que j'ai écris :
import matplotlib.pyplot as plt
import numpy as np
f = open("Values.txt" , 'r')
t = f.readlines()
t.remove(t[0])
list = []
for i in t:
list.append(i.split())
for i in range(len(list)):
value=list[i]
#print(value)
w =[]
for i in range(len(value)):
w = value[i]
w = float(w)
y = []
y.append(w)
print(y[:,0])
Comment fait on pour créer une liste pour x et une autre liste pour y?
et ensuite le tracer ?
Merci,
cordialement,