TikZ, PGFPlots et graphiques techniques
TikZ crée des schémas, organigrammes et figures géométriques ; PGFPlots s’appuie sur TikZ pour les axes et les graphiques de données. Tous deux produisent des graphiques vectoriels redimensionnables, harmonisés avec les polices et notations du document.
Dans EasyLaTeX, choisissez pdfLaTeX avec article, T1 et babel en français. Chargez tikz pour les schémas ou pgfplots pour les graphiques. Les figures complexes augmentent le temps de compilation.
Quand dessiner avec du code
| Besoin | Approche adaptée |
|---|---|
| Photographies, numérisations, captures d’écran | Insérer une image existante |
| Organigrammes, structures, géométrie | TikZ |
| Fonctions, mesures, barres d’erreur | PGFPlots |
| Dessins complexes ou fichiers spécialisés existants | Exporter un PDF depuis l’outil de dessin ; convertir le SVG en PDF ou en image matricielle adaptée avant insertion |
Le dessin par code facilite la reproductibilité, la gestion des versions et la cohérence des polices. Choisissez un outil spécialisé s’il convient mieux à la figure, puis importez un format de sortie stable.
Schéma TikZ minimal
Chargez TikZ dans le préambule :
\usepackage{tikz}Dessinez des axes et un segment :
\begin{tikzpicture} \draw[->] (0,0) -- (4,0) node[right] {$x$}; \draw[->] (0,0) -- (0,3) node[above] {$y$}; \draw[blue,thick] (0,0) -- (3,2);\end{tikzpicture}En coordonnées cartésiennes ordinaires, l’unité par défaut est le centimètre. \draw crée les tracés, les crochets définissent les styles et node ajoute du texte.
Nœuds et flèches
Définissez des styles réutilisables :
\begin{tikzpicture}[ box/.style={draw, rounded corners, minimum width=2.5cm, minimum height=8mm}, arrow/.style={->, thick}] \node[box] (input) {Données}; \node[box, right=1.5cm of input] (process) {Traitement}; \node[box, right=1.5cm of process] (output) {Résultat}; \draw[arrow] (input) -- (process); \draw[arrow] (process) -- (output);\end{tikzpicture}La syntaxe right=... of ... nécessite la bibliothèque de positionnement :
\usetikzlibrary{positioning}Les styles partagés assurent la cohérence des schémas. Raccourcissez les textes longs ou définissez text width pour éviter les chevauchements.
Graphique PGFPlots minimal
Chargez PGFPlots et définissez le niveau de compatibilité :
\usepackage{pgfplots}\pgfplotsset{compat=1.18}Tracez des coordonnées intégrées au code :
\begin{tikzpicture} \begin{axis}[ xlabel={Temps (s)}, ylabel={Vitesse (m/s)}, grid=major ] \addplot coordinates {(0,0) (1,1) (2,4) (3,9)}; \end{axis}\end{tikzpicture}axis gère les axes, graduations, légendes et grilles ; \addplot fournit une série. Nommez clairement les grandeurs et unités, et ne distinguez pas les séries uniquement par leur couleur.
Lire les données d’un fichier
Créez data/velocity.csv dans le projet :
time,velocity0,01,12,43,9Lisez ensuite les colonnes nommées :
\addplot table [x=time, y=velocity, col sep=comma] {data/velocity.csv};Séparer les données du dessin facilite les mises à jour et les vérifications. Les noms de colonnes doivent correspondre aux sélections x= et y=.
Insérer le graphique dans le document
Placez le dessin dans figure pour lui donner une légende, une étiquette et un renvoi :
\begin{figure}[tbp] \centering % Placer ici tikzpicture ou axis \caption{Vitesse au cours du temps} \label{fig:velocity}\end{figure}La légende doit expliquer le contenu, la source des données et, si nécessaire, l’incertitude. Le code du dessin ne remplace pas cette explication.
Problèmes courants
Environment tikzpicture undefined
Chargez tikz ; le positionnement des nœuds nécessite aussi \usetikzlibrary{positioning}.
Environment axis undefined
Chargez pgfplots, pas seulement TikZ. L’environnement axis appartient à PGFPlots.
Compilation lente
Réduisez les échantillons et couches inutiles et utilisez des fichiers de données préparés. Pour un dessin très volumineux, utilisez un projet distinct, compilez et téléchargez son PDF, puis téléversez ce PDF comme image dans le projet principal.
Exemple complet
\documentclass[a4paper,12pt]{article}\usepackage[T1]{fontenc}\usepackage{lmodern}\usepackage[french]{babel}\usepackage{pgfplots}\pgfplotsset{compat=1.18}\begin{document}\begin{figure}[tbp] \centering \begin{tikzpicture} \begin{axis}[ width=0.75\linewidth, xlabel={Temps (s)}, ylabel={Vitesse (m/s)}, grid=major ] \addplot[blue,thick,mark=*] coordinates { (0,0) (1,1) (2,4) (3,9) }; \end{axis} \end{tikzpicture} \caption{Vitesse au cours du temps} \label{fig:velocity}\end{figure}\end{document}