IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Plot d'un fichier ascii


Sujet :

Python

  1. #1
    Membre éclairé
    Homme Profil pro
    Doctorant en Astrophysique
    Inscrit en
    Mars 2009
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant en Astrophysique
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2009
    Messages : 312
    Par défaut Plot d'un fichier ascii
    Bonjour.

    Je suis débutant en python et lorsque je veux faire un plot, en général j'utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    import matplotlib.pyplot as plt
    xdata = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    ydata = [0.1, 0.2, 0.05, 2.3, 5.1, 2.9, 1.2, 0.9, 0.2, 2.6]
    plt.plot(xdata, ydata)
    plt.show()
    Imaginons maintenant que mes xdata et ydata soient dans un fichier .txt de la façon suivante :
    data.txt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    1 0.1
    2 0.2
    3 0.05
    4 2.3
    5 5.1
    6 2.9
    7 1.2
    8 0.9
    9 0.2
    10 2.6
    Question simple : comment lire mes données à partir de mon fichier pour créer mes listes xdata/ydata pour ensuite les plotter comme avant ?

    Merci beaucoup

  2. #2
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2010
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2010
    Messages : 140
    Par défaut
    Salut Kazula,

    je te propose ce code pour lire tes fichiers simplement. il est aussi possible de faire un
    for line in f (f étant le descripteur de fichier que j'utilise)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    import matplotlib.pyplot as plt
     
    f = open('myfile')
    #on lit tout le fichier d'un coup et on le met dans un tableau
    data = f.read().strip().split('\n')
    f.close()
     
    xdata = []
    ydata = []
     
    for line in data:
        x , y = line.split(' ')#le separateur
        xdata.append(int(x))
        ydata.append(float(y))
     
     
    #xdata = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    #ydata = [0.1, 0.2, 0.05, 2.3, 5.1, 2.9, 1.2, 0.9, 0.2, 2.6]
    plt.plot(xdata, ydata)
    plt.show()

  3. #3
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 060
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 060
    Par défaut
    Question simple : comment lire mes données à partir de mon fichier pour créer mes listes xdata/ydata pour ensuite les plotter comme avant ?
    Si c'est simple, ton code devrait être présent

    Sinon je pense qu'il n'y a pas assez d'infos.

    1) Quel poids fait/ferait ce fichier?
    2) Pourrait-il y avoir des erreurs de saisie (exemple un espace manquant) ?
    3) Est-ce que les valeurs présentées ne dépassent pas 1 décimal (résoudrait la 2) ?

  4. #4
    Membre émérite
    Homme Profil pro
    Ingénieur R&D en apprentissage statistique
    Inscrit en
    Juin 2009
    Messages
    447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur R&D en apprentissage statistique

    Informations forums :
    Inscription : Juin 2009
    Messages : 447
    Par défaut
    Tu peux regarder la documentation de numpy.loadtxt,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    np.loadtxt("monfichier.txt",dtype = { "names": ('index','values'),"formats":('i4','f4')})

Discussions similaires

  1. Lecture d'un nombre binaire dans un fichier ASCII
    Par semenzato dans le forum MFC
    Réponses: 1
    Dernier message: 13/04/2006, 22h41
  2. vitesse de lecture d'un fichier ascii
    Par yan dans le forum C++
    Réponses: 5
    Dernier message: 31/01/2006, 14h43
  3. [vba] Envoi de fichier ascii client Windows => server Lin
    Par kremvax dans le forum Général VBA
    Réponses: 3
    Dernier message: 28/11/2005, 12h00
  4. lire un fichier ascii complexe
    Par alexum dans le forum C++
    Réponses: 9
    Dernier message: 16/02/2005, 09h05
  5. Import fichier ASCII dans une base
    Par pithier dans le forum Bases de données
    Réponses: 3
    Dernier message: 01/02/2005, 19h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo