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

Créer un graphique

3 réponses
Avatar
Kevin Denis
Bonjour,

j'ai un outil de traitement de données qui me produit en sortie un fichier
csv:
abscisse, ordonnée
1, 1
2, 1.5
3, 2
4, 2.5 etc...

J'ouvre le fichier dans openoffice, et je génère un beau graphe à deux
dimensions (abscisse, ordonnée).

Je me demande s'il n'existe pas directement dans python une lib qui ferait
ce genre de graphe?
fichier.png=graphe(tableau.csv)
ou équivalent.

Merci
--
Kevin

3 réponses

Avatar
Nicolas
Le 03/07/2016 à 20:43, Kevin Denis a écrit :
Bonjour,
j'ai un outil de traitement de données qui me produit en sortie un fichier
csv:
abscisse, ordonnée
1, 1
2, 1.5
3, 2
4, 2.5 etc...
J'ouvre le fichier dans openoffice, et je génère un beau graphe à deux
dimensions (abscisse, ordonnée).
Je me demande s'il n'existe pas directement dans python une lib qui ferait
ce genre de graphe?
fichier.png=graphe(tableau.csv)
ou équivalent.

Lire le fichier csv est l'affaire de quelques lignes seulement.
Avec matplotlib (http://matplotlib.org/), quelques lignes
supplémentaires permettraient de générer l'image.
Nicolas
Merci
Avatar
Kevin Denis
Le 04-07-2016, Nicolas a écrit :
Avec matplotlib (http://matplotlib.org/), quelques lignes
supplémentaires permettraient de générer l'image.

Ca semble parfait. Je teste deux trois exemples, ça rend bien.
Ceci dit, j'ai une distribution linéaire:
[0, 2, 4352, 44590, 5354, 147, 4, 2, 12, 2]
Le graphe en forme de bar rend bien, mais malheureusement les points
1, 2 , 7, 8, 9 et 10 sont invisibles à l'oeil.
Savez vous s'il est possible:
soit d'écrire la valeur de la barre directement dans le graphe, soit
utiliser une échelle logarithmique?
--
Kevin
Avatar
Laurent Pointal
Kevin Denis wrote:
Le 04-07-2016, Nicolas a écrit :
Avec matplotlib (http://matplotlib.org/), quelques lignes
supplémentaires permettraient de générer l'image.

Ca semble parfait. Je teste deux trois exemples, ça rend bien.
Ceci dit, j'ai une distribution linéaire:
[0, 2, 4352, 44590, 5354, 147, 4, 2, 12, 2]
Le graphe en forme de bar rend bien, mais malheureusement les points
1, 2 , 7, 8, 9 et 10 sont invisibles à l'oeil.
Savez vous s'il est possible:
soit d'écrire la valeur de la barre directement dans le graphe, soit
utiliser une échelle logarithmique?

Je ne pourrais pas te donner la réponse, mais je sais qu'il y a toute une
série d'exemples sur le site de Matplotlib, avec les scripts qui permettent
de les générer… tu y trouveras peut-être les pistes pour tes grapphiques:
http://matplotlib.org/gallery.html
Et pour les échelles logarithmique, voir par ici
http://matplotlib.org/examples/scales/scales.html
Et pour les échelles spéciales, ici:
http://matplotlib.org/examples/api/custom_scale_example.html
A+
Laurent.