Jul 03, 2024

Wiki

Python

Aide

edit SideBar

Search

Tracer Un Nuage De Points


Le code

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 :

Explications

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()])

Les styles prédéfinis :

    _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

Page Actions

Recent Changes

Group & Page

Back Links