faire les illustrations

Préliminaires

Pour faire des dessins qui auront l'air d'avoir été faits à la main, la meilleure solution est de les faire à la main et de les scanner.

Pour tracer des schémas, PSTricks peut encore faire l'affaire - d'autant plus que s'y attache une bonne documentations.

Pour fabriquer des visualisations des profils, ondes et autres vecteurs réalisés par pythoneon, j'utilise maintenant - et après avoir longtemps hésité - le paquet PyX d'André Wobst et Jörg Lehmann. Ce paquet est écrit en Python: il permet donc de se faire des classes qui en facilitent l'usage en mettant dans les attributs de la classe les paramètres invariants.

La compilation par Python fabrique des figures au format PDF qu'on peut insérer dans le document.

La classe Vecteur2Pyx

Voici l'épine dorsale de la classe projetée.

class Vecteur2Pyx:
    def __init__(self, reducteur=100, largeur=32, wformat="pdf"):
        self.format = wformat
        self.reduc = reducteur
        self.width = largeur
        self.n = 0
        self.gx = graph.graph.graphxy(width=self.width)

    def vecteur(self, v, epaisseur):
        self.n = v.size
        r = range(0, v.size, self.reduc) 
        v0 = v[r]
        v1 = np.array([(x, y) for x, y in zip(r, v0)])
        d = graph.data.points(v1, x=1, y=2)
        self.gx.plot(d, [graph.style.line([style.linewidth(epaisseur)])])
            
    def close(self, fnom):
        if self.format == "pdf":
            self.gx.writePDFfile(fnom)
        if self.format == "eps":
            self.gx.writeEPSfile(fnom)
        else:
            self.gx.writeEPSfile(fnom)
            self.gx.writePDFfile(fnom)

Lors de l'instanciation, on choisit si on veut obtenir une figure en PDF, EPS ou les deux. On donne aussi la dimension de la figure (mais celle-ci est adaptable lors de sa reprise dans un texte). Comme les vecteurs sont en général assez longs, on donne un réducteur. Par défaut, ce réducteur est égal à 100 - ce qui veut qu'on ne représente qu'une valeur su 100. une telle réduction accélère énormément l'affichage de la figure.

L'essentiel du travail est effectué par PyX dans la méthode vecteur à laquelle on fournit le vecteur a représenter et l'épaisseur du trait. Cette méthode peut être appelée plusieurs fois pour superposer des graphes.

La méthode close termine le boulot.

Remarques

PyX permet beaucoup plus de choses. Rien que décrire les styles de traits remplirait des pages. Je renvoie donc à la page du projet Pyx.

Autres pages :

Copyright 2010 (c) René Bastian - rbastian (arrobe) free.fr