Comment faire de beaux graphiques avec TikZ et PGFPLOTS
Historique de Tikz.Pgfplot
Cacher les modifications mineures - Affichage du code
ConTeXt à la commande \textcelsius pour écrire °C (et \textdegree pour uniquement le °)alors que sous LaTeX il faut écrire \degres C
\startaxis[xlabel={heures},ylabel={\degres C},
\startaxis[xlabel={heures},ylabel={\textcelsius},
\startaxis[xlabel={heures},ylabel={\degres C},
\startaxis[xlabel={heures},ylabel={\textcelsius},
ylabel={\degres C},
ylabel={\textcelsius},
\begin{axis}[xlabel={heures},ylabel={\degres C},
\begin{axis}[xlabel={heures},ylabel={\degres C},
Sous ConTeXt :
\starttikzpicture \startaxis[xlabel={heures},ylabel={\degres C}, title={Températures relevées à Lille le 16 décembre 2004}] \addplot coordinates { (0,2.6) (1,2.5) (2,2.6) (3,2.3) (4,2.2) (5,2.3) (6,3.1) (7,3.3) (8,3.3) (9,3.8) (10,3.8) (11,4.2) (12,4.8) (13,5) (14,5.7) (15,6.2) (16,6.8) (17,7.1) (18,7.6) (19,7.7) (20,7.2) (21,6) (22,5.6) (23,6.3)}; \stopaxis \stoptikzpicture
\begin{axis}[xlabel={heures},ylabel={\degres C},
\begin{axis}[xlabel={heures},ylabel={\degres C},
Sous ConTeXt :
\starttikzpicture \startaxis[xlabel={heures},ylabel={\degres C}, title={Températures relevées à Lille le 16 décembre 2004}, xmax=24] \addplot coordinates { (0,2.6) (1,2.5) (2,2.6) (3,2.3) (4,2.2) (5,2.3) (6,3.1) (7,3.3) (8,3.3) (9,3.8) (10,3.8) (11,4.2) (12,4.8) (13,5) (14,5.7) (15,6.2) (16,6.8) (17,7.1) (18,7.6) (19,7.7) (20,7.2) (21,6) (22,5.6) (23,6.3)}; \stopaxis \stoptikzpicture
\begin{axis}[enlarge x limits=false,
\begin{axis}[enlarge x limits=false,
Sous ConTeXt :
\starttikzpicture \startaxis[enlarge x limits=false, xlabel={heures}, ylabel={\degres C}, title={Températures relevées à Lille le 16 décembre 2004}] \addplot coordinates { (0,2.6) (1,2.5) (2,2.6) (3,2.3) (4,2.2) (5,2.3) (6,3.1) (7,3.3) (8,3.3) (9,3.8) (10,3.8) (11,4.2) (12,4.8) (13,5) (14,5.7) (15,6.2) (16,6.8) (17,7.1) (18,7.6) (19,7.7) (20,7.2) (21,6) (22,5.6) (23,6.3)}; \stopaxis \stoptikzpicture
Sous ConTeXt :
\starttikzpicture \startaxis[ymajorgrids] \stopaxis \stoptikzpicture
Sous ConTeXt :
\starttikzpicture \startaxis[xlabel={L’axe des x},ylabel={L’axe des y}] \stopaxis \stoptikzpicture
Sous ConTeXt :
\starttikzpicture \startaxis[title={Le titre du graphique}] \stopaxis \stoptikzpicture
Sous ConTeXt :
\starttikzpicture \startaxis \addplot coordinates { (0,2.6) (1,2.5) (2,2.6) (3,2.3) (4,2.2) (5,2.3) (6,3.1) (7,3.3) (8,3.3) (9,3.8) (10,3.8) (11,4.2) (12,4.8) (13,5) (14,5.7) (15,6.2) (16,6.8) (17,7.1) (18,7.6) (19,7.7) (20,7.2) (21,6) (22,5.6) (23,6.3)}; \stopaxis \stoptikzpicture
Sous ConTeXt :
\starttikzpicture \startaxis[height=8cm,width=5cm] \stopaxis \stoptikzpicture
Sous ConTeXt :
\starttikzpicture \startaxis[scale=0.5] \stopaxis \stoptikzpicture
Sous ConTeXt :
\starttikzpicture \startaxis[xscale=0.7, yscale=0.4] \stopaxis \stoptikzpicture
Sous ConTeXt :
\starttikzpicture[scale=0.5] . . .
Sous ConTeXt :
\starttikzpicture \startaxis[axis x line=bottom,axis y line = left] \stopaxis \stoptikzpicture
Sous ConTeXt :
\starttikzpicture \startaxis[axis x line=top,axis y line = right] \stopaxis \stoptikzpicture
Sous ConTeXt :
\starttikzpicture \startaxis[grid=major] \stopaxis \stoptikzpicture
Sous ConTeXt :
\starttikzpicture \startaxis[xmajorgrids] \stopaxis \stoptikzpicture
graphique. Si tu veux les supprimer tu utilises l’option '''enlarge x limits=false. Note que dans ce cas tu n’as plus besoin de mettre xmax=24''',
graphique. Si tu veux les supprimer tu utilises l’option enlarge x limits=false. Note que dans ce cas tu n’as plus besoin de mettre xmax=24,
\begin{axis}[xscale=0.7, yscale=0.2]
\begin{axis}[xscale=0.7, yscale=0.4]
Sous ConTeXt :
\starttikzpicture \startaxis \stopaxis \stoptikzpicture
Si tu es sous ConTeX :
\usemodule[pgfplots]
Le module TikZ est chargé automatiquement.
Sous ConTeXt :
\starttikzpicture \stoptikzpicture
[[#grille]
Alors il n’est pas joli notre graphique et pas si compliqué à faire. Bon il y a quand même un petit problème. Si la 25e heure et très cinématographique, elle n’a rien de scientifique. Il faut donc donner à PGFPLOTS des limites.
Alors il n’est pas joli notre graphique et pas si compliqué à faire. Bon il y a quand même un petit problème. Si la 25e heure et très cinématographique, elle n’a rien de scientifique. Il faut donc donner à PGFPLOTS des limites.
graphique. Si tu veux les supprimer tu utilises l’option enlarge x limits=false. Note que dans ce cas tu n’as plus besoin de mettre xmax=24,
graphique. Si tu veux les supprimer tu utilises l’option '''enlarge x limits=false. Note que dans ce cas tu n’as plus besoin de mettre xmax=24''',
enlarge y limits=false, pas très utile dans notre exemple.
enlarge y limits=false, pas très utile dans notre exemple.
title={Températures relevées à Lille le 16 décembre 2004}, xmax=24]
title={Températures relevées à Lille le 16 décembre 2004}]
Changer l’aspect du graphique
Sympa cette couleur bleue avec les petits ronds comme marqueur, mais comment on fait pour changer ? Deux possibilités, soit tu veux tout changer, soit tu veux ajouter une modification, comme par exemple supprimer les marqueurs tout en gardant la couleur bleue. Dans le premier cas tu utilises \addplot[options] et dans le deuxième \addplot+[options]. Voici 3 exemples du même graphique :
\addplot[]
\addplot[mark=none]
\addplot+[mark=none]
Enlever les marges
Tu as remarqué que PGFPLOTS ajoute des marges entre les axes et le graphique. Si tu veux les supprimer tu utilises l’option enlarge x limits=false. Note que dans ce cas tu n’as plus besoin de mettre xmax=24, puisque les axes s’arrête aux limites du graphique. Il existe également un enlarge y limits=false, pas très utile dans notre exemple.
\begin{tikzpicture}
\begin{axis}[enlarge x limits=false, xlabel={heures}, ylabel={\degres C}, title={Températures relevées à Lille le 16 décembre 2004}, xmax=24] \addplot coordinates { (0,2.6) (1,2.5) (2,2.6) (3,2.3) (4,2.2) (5,2.3) (6,3.1) (7,3.3) (8,3.3) (9,3.8) (10,3.8) (11,4.2) (12,4.8) (13,5) (14,5.7) (15,6.2) (16,6.8) (17,7.1) (18,7.6) (19,7.7) (20,7.2) (21,6) (22,5.6) (23,6.3)}; \end{axis} \end{tikzpicture}
— Et bien non on ne fera pas de camemberts.
— Ben pourquoi ?
— Parce que c’est moche et ça sert à rien.
— Et bien non on ne fera pas de camemberts. — Ben pourquoi ? — Parce que c’est moche et ça sert à rien.
Le système de coordonnées est le même que celui de TikZ, voir la fiche de Bébert « TikZ & PGF, introduction » . Je te rappelle que les décimales sont notées à l’anglo-saxonne avec un point. Comme toutes commande TikZ, n’oublie pas le ; à la fin \addplot coordinates {. . .};
Le système de coordonnées est le même que celui de TikZ, voir TikZ, le système de coordonnées et les chemins (path). Je te rappelle que les décimales sont notées à l’anglo-saxonne avec un point. Comme toutes commande TikZ, n’oublie pas le ; à la fin \addplot coordinates {. . .};
Alors il n’est pas joli notre graphique et pas si compliqué à faire. Bon il y a quand même un petit problème. Si la 25e heure et très cinématographique, elle n’a rien de scientifique. Il faut donc donner à PGFPLOTS des limites.
Alors il n’est pas joli notre graphique et pas si compliqué à faire. Bon il y a quand même un petit problème. Si la 25e heure et très cinématographique, elle n’a rien de scientifique. Il faut donc donner à PGFPLOTS des limites.
http://fr.wikipedia.org/wiki/La_25e_Heure_%28film,_2002%29
Alors il n’est pas joli notre graphique et pas si compliqué à faire. Bon il y a quand même un petit problème. Si la 25e heure et très cinématographique, elle n’a rien de scientifique. Il faut donc donner à PGFPLOTS des limites.
Alors il n’est pas joli notre graphique et pas si compliqué à faire. Bon il y a quand même un petit problème. Si la 25e heure et très cinématographique, elle n’a rien de scientifique. Il faut donc donner à PGFPLOTS des limites.
http://fr.wikipedia.org/wiki/La_25e_Heure_%28film,_2002%29
Alors il n’est pas joli notre graphique et pas si compliqué à faire. Bon il y a quand même un petit problème. Si la 25e heure et très cinématographique, elle n’a rien de scientifique. Il faut donc donner à PGFPLOTS des limites.
Alors il n’est pas joli notre graphique et pas si compliqué à faire. Bon il y a quand même un petit problème. Si la 25e heure et très cinématographique, elle n’a rien de scientifique. Il faut donc donner à PGFPLOTS des limites.
Alors il n’est pas joli notre graphique et pas si compliqué à faire. Bon il y a quand même un petit problème. Si la 25e heure et très cinématographique, elle n’a rien de scientifique. Il faut donc donner à PGFPLOTS des limites.
Alors il n’est pas joli notre graphique et pas si compliqué à faire. Bon il y a quand même un petit problème. Si la 25e heure et très cinématographique, elle n’a rien de scientifique. Il faut donc donner à PGFPLOTS des limites.
\begin{axis}[xlabel={heures},ylabel={\degres C},
\begin{axis}[xlabel={heures},ylabel={\degres C},
\end{tikzpicture}
\end{tikzpicture}
Alors il n’est pas joli notre graphique et pas si compliqué à faire. Bon il y a quand même un petit problème. Si la 25e heure et très cinématographique, elle n’a rien de scientifique. Il faut donc donner à PGFPLOTS des limites.
Limites du graphique
Tu les fixes par xmin, xmax, ymin, ymax.
\begin{tikzpicture}
\begin{axis}[xlabel={heures},ylabel={\degres C}, title={Températures relevées à Lille le 16 décembre 2004}, xmax=24] \addplot coordinates { (0,2.6) (1,2.5) (2,2.6) (3,2.3) (4,2.2) (5,2.3) (6,3.1) (7,3.3) (8,3.3) (9,3.8) (10,3.8) (11,4.2) (12,4.8) (13,5) (14,5.7) (15,6.2) (16,6.8) (17,7.1) (18,7.6) (19,7.7) (20,7.2) (21,6) (22,5.6) (23,6.3)}; \end{axis} \end{tikzpicture}
Le système de coordonnées est le même que celui de TikZ, voir la fiche de Bébert « TikZ & PGF, introduction » . Je te rappelle que les décimales sont notées à l’anglo-saxonne avec un point. Comme toutes commande , n’oublie pas le ; à la fin \addplot coordinates {. . .};
Le système de coordonnées est le même que celui de TikZ, voir la fiche de Bébert « TikZ & PGF, introduction » . Je te rappelle que les décimales sont notées à l’anglo-saxonne avec un point. Comme toutes commande TikZ, n’oublie pas le ; à la fin \addplot coordinates {. . .};
Avec un titre et des labels :
\begin{tikzpicture} \begin{axis}[xlabel={heures},ylabel={\degres C}, title={Températures relevées à Lille le 16 décembre 2004}] \addplot coordinates { (0,2.6) (1,2.5) (2,2.6) (3,2.3) (4,2.2) (5,2.3) (6,3.1) (7,3.3) (8,3.3) (9,3.8) (10,3.8) (11,4.2) (12,4.8) (13,5) (14,5.7) (15,6.2) (16,6.8) (17,7.1) (18,7.6) (19,7.7) (20,7.2) (21,6) (22,5.6) (23,6.3)}; \end{axis} \end{tikzpicture}
Ajouter un titre pour ton graphique
\begin{tikzpicture} \begin{axis}[title={Le titre du graphique}] \end{axis} \end{tikzpicture}
Ajouter des données
\begin{tikzpicture} \begin{axis} \addplot coordinates { (0,2.6) (1,2.5) (2,2.6) (3,2.3) (4,2.2) (5,2.3) (6,3.1) (7,3.3) (8,3.3) (9,3.8) (10,3.8) (11,4.2) (12,4.8) (13,5) (14,5.7) (15,6.2) (16,6.8) (17,7.1) (18,7.6) (19,7.7) (20,7.2) (21,6) (22,5.6) (23,6.3)}; \end{axis} \end{tikzpicture}
Le système de coordonnées est le même que celui de TikZ, voir la fiche de Bébert « TikZ & PGF, introduction » . Je te rappelle que les décimales sont notées à l’anglo-saxonne avec un point. Comme toutes commande , n’oublie pas le ; à la fin \addplot coordinates {. . .};
(:keywords LaTeX, ConTeXt, TeX, Tikz, PGF, double trait, dessiner, ligne,draw,flèche,arrows,épaisseur trait:)
(:keywords LaTeX, ConTeXt, TeX, Tikz, PGF, graphique,pgfplot,label:)
Dans l’autre sens :
\begin{tikzpicture} \begin{axis}[axis x line=top,axis y line = right] \end{axis} \end{tikzpicture}
[[#grille]
Ajouter une grille
\begin{tikzpicture} \begin{axis}[grid=major] \end{axis} \end{tikzpicture}
Ajouter une grille uniquement pour les x
\begin{tikzpicture} \begin{axis}[xmajorgrids] \end{axis} \end{tikzpicture}
Ajouter une grille uniquement pour les y
\begin{tikzpicture} \begin{axis}[ymajorgrids] \end{axis} \end{tikzpicture}
Ajouter un label pour les x ou les y
\begin{tikzpicture} \begin{axis}[xlabel={L’axe des x},ylabel={L’axe des y}] \end{axis} \end{tikzpicture}
. . .
. . .
N’afficher que 2 côtés du graphique
\begin{tikzpicture} \begin{axis}[axis x line=bottom,axis y line = left] \end{axis} \end{tikzpicture}
Je te rappelle que tu peux jouer aussi avec les options liées à tikzpicture pour adapter ton graphique à ton document :
\begin{tikzpicture}[scale=0.5] . . .
Taille du graphique
Évidement l’environnement axis accepte des options.
Attention les options sont séparées par des virgules.
Tu peux jouer sur la taille du graphique :
\begin{tikzpicture} \begin{axis}[height=8cm,width=5cm] \end{axis} \end{tikzpicture}
d’autre exemples :
\begin{tikzpicture} \begin{axis}[scale=0.5] \end{axis} \end{tikzpicture}
\begin{tikzpicture} \begin{axis}[xscale=0.7, yscale=0.2] \end{axis} \end{tikzpicture}
(:description L'option draw permet de dessiner un chemin:)
(:description PGFPLOTS permet de réaliser des grapghiques parfaitement intégré à ton document LaTeX ou ConTeXt:)
Le but de ce tutoriel est d’apprendre à réaliser des graphiques à l’aide de TikZ et PGFPLOTS. Pourquoi ne pas utiliser un logiciel spécialisé comme un tableur ? Il y a plusieurs raisons :
Le but de ce tutoriel est d’apprendre à réaliser des graphiques à l’aide de TikZ et PGFPLOTS. Pourquoi ne pas utiliser un logiciel spécialisé comme un tableur ? Il y a plusieurs raisons :
Pour être lisible un graphique se doit d’avoir des axes, ce que tu vas réaliser grâce à l’environnement axis. Comme tu ne lui as encore précisé aucune donnée PGFPLOTS affiche un truc par défaut avec des coordonnées comprise entre 0 et 1 :
\begin{tikzpicture} \begin{axis} \end{axis} \end{tikzpicture}
Le but de ce tutoriel est d’apprendre à réaliser des graphiques à l’aide de TikZ et PGFPLOTS. Pourquoi ne pas utiliser un logiciel spécialisé comme un tableur ? Il y a plusieurs raisons :
- l’exportation d’un graphique fait à l’aide d’un tableur en un document compris par LaTeX n’est pas toujours aisé et tu te retrouves souvent à exporter ton graphique sous un format image, qui perd beaucoup en qualité ;
- l’insertion dans LaTeX notamment au niveau de l’échelle, n’est pas toujours heureuse. Tu es amené à souvent réduire sa taille, rendant souvent des parties du graphique illisibles (taille de caractère trop petite, pixelisation,. . .) ;
- tu perds la continuité typographique de ton document (polices différentes).
Donc pour des graphiques parfaitement intégrés à ton document, utilise le couple TikZ et PGFPLOTS, en plus ce n’est guère plus compliquer à utiliser qu’un tableur.
Dans cette fiche on va se limiter à des opérations de base, on se contentera de graphique simple avec un minimum de réglages.
Pour commencer
Pour illustrer notre propos nous allons utiliser les précipitations et les températures relevées dans la région lilloise pour le mois de décembre 2004.
Les deux premières choses à faire c’est de charger les packages tikz et pgfplots :
\usepackage{tikz} \usepackage{pgfplots}
Maintenant nous allons commencer notre graphique. Tu ouvres un environnement TikZ :
\begin{tikzpicture} \end{tikzpicture}
!et si vous êtes sages on fera peut-être des camemberts.
— Et bien non on ne fera pas de camemberts.
— Ben pourquoi ?
— Parce que c’est moche et ça sert à rien.
Sommaire
et si vous êtes sages on fera peut-être des camemberts.
— Et bien non on ne fera pas de camemberts.
— Ben pourquoi ?
— Parce que c’est moche et ça sert à rien.
Sommaire
et si vous êtes sages on fera peut-être des camemberts.
— Et bien non on ne fera pas de camemberts. — Ben pourquoi ? — Parce que c’est moche et ça sert à rien.
!et si vous êtes sages on fera peut-être des camemberts.
— Et bien non on ne fera pas de camemberts.
— Ben pourquoi ?
— Parce que c’est moche et ça sert à rien.
et si vous êtes sages on fera peut-être des camemberts. — Et bien non on ne fera pas de camemberts. — Ben pourquoi ? — Parce que c’est moche et ça sert à rien.
et si vous êtes sages on fera peut-être des camemberts.
— Et bien non on ne fera pas de camemberts. — Ben pourquoi ? — Parce que c’est moche et ça sert à rien.
et si vous êtes sages on fera peut-être des camemberts. — Et bien non on ne fera pas de camemberts. — Ben pourquoi ? — Parce que c’est moche et ça sert à rien.
(:title Comment faire de beaux graphiques avec
Tik Z et PGFPLOTS et si vous êtes sages on fera peut-être des camemberts. — Et bien non on ne fera pas de camemberts. — Ben pourquoi ? — Parce que c’est moche et ça sert à rien.
:)
(:title Comment faire de beaux graphiques avec TikZ et PGFPLOTS:)
(:tkz:Ti%orange%''k''%%Z:) (:con:ConTeXt:) (:lat:LaTeX:) (:dots:. . .:)
(:title Comment faire de beaux graphiques avec
Tik Z et PGFPLOTS et si vous êtes sages on fera peut-être des camemberts. — Et bien non on ne fera pas de camemberts. — Ben pourquoi ? — Parce que c’est moche et ça sert à rien.
:) (:keywords LaTeX, ConTeXt, TeX, Tikz, PGF, double trait, dessiner, ligne,draw,flèche,arrows,épaisseur trait:) (:description L'option draw permet de dessiner un chemin:)