|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
|
Membre éprouvé
![]() Inscription : avril 2007 Messages : 749 ![]() |
Bonjour,
Je ne connais pas du tout le python et je souhaite tracer une courbe y en fonction de x avec des données issues de Y.txt et X.txt qui ressemble à cela: Y.txt X.txt Pour cela j'utilise Matplotlib en stockant dans un tableau différent les données issues de chaque fichier, mais le problème est que je n'arrive pas à créer le graphique car j'ai l'erreur suivante: Code :
Code :
Code :
Merci de votre aide. |
||||||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Bastien MontagneDiverses et multiples Inscription : mai 2008 Messages : 624 ![]() |
Ben, clairement, x et y n’ont pas la même taille (un print(len(x), len(y) devrait le confirmer)…
Après, si les deux fichiers ont vraiment le même nombre de lignes… Peut-être essayer de reproduire le problème avec deux fichiers ne comportant que quelques lignes, en faisant un print des deux listes obtenues (et si le problème persiste, nous les copier ici, qu’on puisse tester)*?
__________________
Incantation : Méchant forum, arrête de transformer toutes mes espaces insécables en astérisques |
|
|
00
|
|
|
#3 | ||||
|
Membre éprouvé
![]() Inscription : avril 2007 Messages : 749 ![]() |
J'ai rédius les deux fichiers à 5 lignes chacun et le print me donne:
J'ai pas compris ces valeurs. Est-ce qu'il y a une bonne ou dumoins une meilleure façon de faire ce que je souhaite? EDIT: voici les deux fichiers à présent: X.txt Code :
Code :
|
||||
|
|
00
|
|
|
#4 | ||
|
Membre Expert
![]() Bastien MontagneDiverses et multiples Inscription : mai 2008 Messages : 624 ![]() |
Ces deux valeurs sont les longueurs de tes deux listes, qui ne collent effectivement pas du tout aux données*!
Un petit tour sur la doc de numpy.fromfile nous apprend que pour utiliser le fichier en mode texte, il faut spécifier un séparateur (sinon, il est “lu” en mode binaire, ce qui donne évidemment n’importe quoi dans ce cas précis ) –*ici, le séparateur est le retour à la ligne ('\n'). Ce code devrait donc marcher*:Code :
PPS*: Il fleure bon le CERN, ce code…
__________________
Incantation : Méchant forum, arrête de transformer toutes mes espaces insécables en astérisques |
||
|
|
00
|
|
|
#5 | |
|
Membre éprouvé
![]() Inscription : avril 2007 Messages : 749 ![]() |
Citation:
Je pensais que dataG et dataC était des genre de "stream" pour lire les fichiers et que pour récupéer les données il fallait un tablea pour les contenir en l'occurence ici x et y. Je peux donc utiliser datdC et dataG directement? Je vais tester. J'avoue que j'ai plus fait par analogie qu'autre chose. Bien vu
|
|
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() Bastien MontagneDiverses et multiples Inscription : mai 2008 Messages : 624 ![]() |
dataG et dataC sont des “arrays” numpy (un genre de liste optimisée, pour faire simple). Donc pas de problème pour les utiliser directement (normalement).
De plus, dataG[::1] ne retourne pas une liste, mais un autre array numpy, pour en faire une liste il faut appeler explicitement le “constructeur” de celle-ci*: list(dataG).
__________________
Incantation : Méchant forum, arrête de transformer toutes mes espaces insécables en astérisques |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com