On suppose que des données sont dans un fichier minimal.dat, rangées dans deux colonnes séparées par un espace, et contenant éventuellement des commentaires (vous êtes donc sensés créer ce fichier texte) :
# minimal.dat 1 2 2 3 3 8 4 13 5 18 6 21
On considère alors le bout de code suivant :
>>> from pyx import * >>> g = graph.graphxy(width=8) >>> g.plot(graph.data.file("minimal.dat", x=1, y=2)) >>> g.writeEPSfile("minimal") >>> g.writePDFfile("minimal")
Son résultat est :
Cet exemple montre comment représenter des données stockées dans un fichier.
On commence par créer une instance g de classe graphxy, en passant la taille (8 cm de largeur) du graphe au constructeur :
>>> g = graph.graphxy(width=8)
On peut préciser la hauteur (height) du graphe ; s'il n'y a qu'une seule des tailles, PyX fait pour le mieux (rapport = nombre d'or).
Ensuite, les données sont ajoutées au graphe vide, en précisant comment ces données sont agencées :
>>> g.plot(graph.data.file("minimal.dat", x=1, y=2))
PyX utilise le dernier commentaire précédant les données pour donner des noms aux colonnes. Ainsi, si le fichier minimal.dat commence ainsi :
# mes données (cette ligne est ignorée par PyX, pas la suivante) # x y 1 2 ...
...on n'aura alors pas besoin de nommer les colonnes :
>>> g.plot(graph.data.file("minimal.dat"))
Finalement, le résutat est écrit dans un fichier EPS et PDF.
Dans PyX, la manière dont les données sont graphiquement représentés est définie par un style. Il existe plusieurs styles prédéfinis dans le module graph.style, le style adéquat est choisi par PyX selon les données rencontrées (graph.style.symbol dans notre exemple).
Pour changer ce comportement, on peut passer une liste de styles en second argument de la méthode plot. Par exemple, pour relier ces points par des lignes :
>>> g.plot(graph.data.file("minimal.dat", x=1, y=2), [graph.style.line()])
_line(_styleneedingpointpos) grid(_line, _style) line _style bar changebar barpos errorbar grid(_line, _style) gridpos histogram pos range rect stackedbarpos surface _styleneedingpointpos(_style) arrow impulses symbol text