Table des matières

Py2tikz

Py2tikz est un outil d'export de figure matplotlib en document tikz/pgfplots développé au laboratoire.

Objectifs

L'objectif de l'outil est de permettre un export rapide de figures matplotlib de façon automatique. Les figures cibles sont les figures relativement simples et classiquement utilisées :

En effet, afin de garder l'outil assez simple et avec des paramètres d'entrée relativement limités, le code ne pourra pas traiter les graphes les plus compliqués. Pour ces derniers, il est toujours possible d'utiliser Py2tikz pour faire une ébauche de la figure finale sans les éléments limitants, puis rajouter manuellement ces derniers.

Paramètres d'entrée

Les options d'entrée (commit 64019c27a35da08117405e26e4b850f8f155c067) sont :

Obligatoires:

Optionnels:

Utilisation

L'utilisation du code est assez simple :

  1. Installer la librairie, dans le dossier py2tikz (qui contient setup.py) dans une console :
 pip install . 
  1. Importer la fonction py2tikz du module py2tikz (depuis n'importe où grâce à l'installation par pip du module) :
 from py2tikz import py2tikz 
  1. Appeler la fonction py2tikz par exemple :
 py2tikz(fig,'Nom_du_fichier_tex',height='6cm',width='10cm',grid=True) 

On trouvera alors un nouveau dossier 'tikz' qui contient la figure sous l'arborescence : tikz/Nom_du_fichier_tex/Nom_du_fichier_tex.tex

Le sous-dossier Nom_du_fichier_tex contient :

Démarche de génération d'une figure (inutile pour utilisateur)

La démarche utilisée est récapitulée dans la figure suivante :

Flowchart pdf de py2tikz

Base de non régression

Afin de maintenir le code et de ne pas introduire de bugs avec de nouvelles fonctionnalités.

Cette base est dans le dépôt git du code et doit être lancée avant chaque push sur le dépôt. Il suffit d’exécuter le script qui va exécuter tous les exemples (pour l'instant 2) :

 intelpyt3 && sh ./validation_non_regression.sh 

Il faut ensuite s'assurer que les figures sont bien conformes et qu'elles ont été compilées correctement.

Exemples

Graphique 2D simple (markers)

La figure utilisée pour la base non régression est la suivante :

Figure matplotlib 2D simple

Résultats compilés de l'exécution de py2tikz sur cette figure :