# Autres langages > Python > GUI >  Simple courbe avec matplotlib

## LinuxUser

Bonjour,

Je souhaiterais afficher une simple courbe avec matplotlib mais cela ne marche pas.
En fait je pars d'un fichier texte "data.txt" compos de deux colonnes et qui ressemble  a :


1                216
2                 109
3                 730
4                 549
5                 441
6                 368
7                 317
8                 278
9                 245
10               223

A partir de cela je souhaiterais faire une courbe o la premire colonne serait l'axe des "x" et la second des "y".


```

```

J'obtiens le message d'erreur suivant :


```

```

Et lorsque j'affiche "col1" ou col2" je ne retrouve pas les valeurs du fichier "data.txt" (j'ai n'importe quoi qui s'affice).

Connaissez-vous une manire de lire par colonne(pas un fichier binaire) proprement en python puis d'afficher un graphique  partir de ces colonnes?

Merci de votre aide.

----------


## fred1599

Ton problme vient apparemment de la mauvaise utilisation de numpy, faire des print pour te rendre compte de ton erreur.

Pour quelquechose d'aussi simple, prendre des choses connues et simples n'est pas une mauvaise ide en soi.



```

```

----------


## LinuxUser

OK, merci beaucoup de ton aide.

Je pensais que l'on pouvait lire chaque colonne d'un seul coup.

Merci encore

----------


## fred1599

> Je pensais que l'on pouvait lire chaque colonne d'un seul coup.


Tu perdrais beaucoup de temps car tu lirais ta ligne de fichier 2 fois  ::):

----------


## LinuxUser

Une dernier question, comment pourrait-on faire pour repeter cela pour plusieurs fichier.
Par exemple, afficher sur le mme graphique, les courbes issues de "data1.txt", "data2.txt" et "data3.txt" ?

----------


## fred1599

Oui



```

```

----------


## LinuxUser

J'avais plutt pens  



```

```

Mais j'ai l'impression qu'il ne prend pas fichier par fichier.

----------


## fred1599

```
for i in range(1, len(sys.argv)):
```

Je ne savais pas que tu mettais tes fichiers en ligne de commande.

----------


## LinuxUser

J'ai pas tout compris (je vais faire des recherche pour comprendre) mais a marche trs bien.

Je t'embte une dernire fois.
Je souhaite afficher comme label le nom de fichier mais sans l'extension.
Je cherche donc une sorte de strncopy" en python, pour avoir "data" au lieu "data.txt".





C'est bon, j'ai fait un 


```
string = sys.argv[i][:-4]
```


Merci encore pour tout.

----------


## fred1599

```

```

----------


## LinuxUser

Effectivement c'est plus propre ainsi.

----------

