Vous êtes sur la page 1sur 71

Confrence LATEX no 10

Courbes de fonctions et de donnes exprimentales

Denis Bitouz
denis.bitouze@lmpa.univ-littoral.fr
http://gte.univ-littoral.fr/members/dbitouze/pub/latex

IUT Gnie Thermique et nergie de Dunkerque


http://gte.univ-littoral.fr/

&
Laboratoire de Mathmatiques Pures et Appliques
Joseph Liouville
http://www-lmpa.univ-littoral.fr

Plan
1

Courbes avec pgfplots

Denis Bitouz (IUT GTE Dk & LMPA)

Confrence LATEX no 10

2 / 70

Courbes avec pgfplots

Plan
1

Courbes avec pgfplots

Denis Bitouz (IUT GTE Dk & LMPA)

Confrence LATEX no 10

3 / 70

Courbes avec pgfplots

Introduction

Ce que nous dtaillons maintenant


1

Courbes avec pgfplots


Introduction
Systme de coordonnes et units
Premire approche
Reprsentation graphique de fonctions
Reprsentation graphique de donnes
Exemple grandeur nature
Autres graphiques
Graphiques 3D
Divers
Configuration (semi-)globale
Pour aller plus loin

Denis Bitouz (IUT GTE Dk & LMPA)

Confrence LATEX no 10

4 / 70

Courbes avec pgfplots

Introduction

Description du package pgfplots


1

Le package pgfplots permet de construire aisment des


graphiques 2D ou 3D reprsentant soit des fonctions, soit des
donnes (par exemple exprimentales)

Le package pgfplots sappuie sur le package pgf ddi la


cration de dessins au sens large

On charge le package pgfplots au moyen de


Syntaxe
\usepackage{pgfplots}

La commande ci-dessous ne sera pas rappele dans les exemples qui


suivent

Denis Bitouz (IUT GTE Dk & LMPA)

Confrence LATEX no 10

5 / 70

Courbes avec pgfplots

Systme de coordonnes et units

Ce que nous dtaillons maintenant


1

Courbes avec pgfplots


Introduction
Systme de coordonnes et units
Premire approche
Reprsentation graphique de fonctions
Reprsentation graphique de donnes
Exemple grandeur nature
Autres graphiques
Graphiques 3D
Divers
Configuration (semi-)globale
Pour aller plus loin

Denis Bitouz (IUT GTE Dk & LMPA)

Confrence LATEX no 10

6 / 70

Courbes avec pgfplots

Systme de coordonnes et units

Systme de coordonnes
2.5
2
1.5
(2, 1)

1
0.5
0

0.5

1.5

2.5

Par dfaut, le systme de coordonnes est le systme cartsien :


lorigine dun graphique est en bas gauche
laxe des abscisses est horizontal orient de gauche droite
laxe des ordonnes est vertical orient de bas en haut
chaque point est repr par un couple de coordonnes (x,y )
Denis Bitouz (IUT GTE Dk & LMPA)

Confrence LATEX no 10

7 / 70

Courbes avec pgfplots

Systme de coordonnes et units

Systme de coordonnes
2.5
2
1.5
(2, 1)

1
0.5
0

0.5

1.5

2.5

Remarque
Lunit par dfaut est le cm
Ainsi, le point de coordonnes (2,1) est situ 2 cm droite et 1 cm
au-dessus de lorigine
Denis Bitouz (IUT GTE Dk & LMPA)

Confrence LATEX no 10

7 / 70

Courbes avec pgfplots

Premire approche

Ce que nous dtaillons maintenant


1

Courbes avec pgfplots


Introduction
Systme de coordonnes et units
Premire approche
Reprsentation graphique de fonctions
Reprsentation graphique de donnes
Exemple grandeur nature
Autres graphiques
Graphiques 3D
Divers
Configuration (semi-)globale
Pour aller plus loin

Denis Bitouz (IUT GTE Dk & LMPA)

Confrence LATEX no 10

8 / 70

Courbes avec pgfplots

Premire approche

Cration dun graphique


Tout graphique est cre lintrieur des deux environnements
tikzpicture et axis embots lun dans lautre :
Syntaxe
\begin{tikzpicture}
\begin{axis}
<graphique>;
\end{axis}
\end{tikzpicture}

Attention !
Tout graphique (et plus gnralement toute dclaration) doit se
terminer par un point virgule

Denis Bitouz (IUT GTE Dk & LMPA)

Confrence LATEX no 10

9 / 70

Courbes avec pgfplots

Premire approche

Cration dun graphique


Si <graphique> est vide, un carr de ct 1 1 est cr :
Code source

1 \begin{tikzpicture}

0.8

2 \begin{axis}

0.6

3 \end{axis}
4 \end{tikzpicture}

0.4
0.2
0
0

0.2

0.4

0.6

0.8

Remarque
Le carr de ct 1 1 est en fait lgrement augment

Denis Bitouz (IUT GTE Dk & LMPA)

Confrence LATEX no 10

10 / 70

Courbes avec pgfplots

Reprsentation graphique de fonctions

Ce que nous dtaillons maintenant


1

Courbes avec pgfplots


Introduction
Systme de coordonnes et units
Premire approche
Reprsentation graphique de fonctions
Reprsentation graphique de donnes
Exemple grandeur nature
Autres graphiques
Graphiques 3D
Divers
Configuration (semi-)globale
Pour aller plus loin

Denis Bitouz (IUT GTE Dk & LMPA)

Confrence LATEX no 10

11 / 70

Courbes avec pgfplots

Reprsentation graphique de fonctions

Construction directe
Code source

10

1 \begin{tikzpicture}
2 \begin{axis}
3 % Courbe

y = 10 x2

4 \addplot {10-x^2};
5 \end{axis}

10

6 \end{tikzpicture}
6

Remarque
Par dfaut, le domaine [5, 5] est utilis pour les abscisses et le
domaine pour les ordonnes est automatiquement adapt

Denis Bitouz (IUT GTE Dk & LMPA)

Confrence LATEX no 10

12 / 70

Courbes avec pgfplots

Reprsentation graphique de donnes

Ce que nous dtaillons maintenant


1

Courbes avec pgfplots


Introduction
Systme de coordonnes et units
Premire approche
Reprsentation graphique de fonctions
Reprsentation graphique de donnes
Exemple grandeur nature
Autres graphiques
Graphiques 3D
Divers
Configuration (semi-)globale
Pour aller plus loin

Denis Bitouz (IUT GTE Dk & LMPA)

Confrence LATEX no 10

13 / 70

Courbes avec pgfplots

Reprsentation graphique de donnes

Reprsentation de donnes (exprimentales)


Lecture directe

Code source

100

1 \begin{tikzpicture}

80

2 \begin{axis}

60

3 \addplot coordinates {

(0,1) (1,10) (2,100)


5 };
6 \end{axis}
7 \end{tikzpicture}
4

40
20
0
0

0.5

1.5

Remarque
Les domaines pour les abscisses et pour les ordonnes est
automatiquement adapt aux donnes reprsenter
Denis Bitouz (IUT GTE Dk & LMPA)

Confrence LATEX no 10

14 / 70

Courbes avec pgfplots

Reprsentation graphique de donnes

Reprsentation de donnes (exprimentales)


Lecture directe : syntaxe

Syntaxe (lecture directe des donnes)


\addplot coordinates {<donnes>};

o les <donnes> sont par dfaut lun des formats 1 suivants :


Syntaxe (format des donnes lues directement)
(x1 ,y1 ) (x2 ,y2 ) ...

Syntaxe (format alternatif des donnes lues directement)


(x1 ,y1 )
(x2 ,y2 )
...
1. quivalents (espace retour chariot unique)
Denis Bitouz (IUT GTE Dk & LMPA)

Confrence LATEX no 10

15 / 70

Courbes avec pgfplots

Reprsentation graphique de donnes

Reprsentation de donnes (exprimentales)


Lecture directe versus partir dun fichier

Ici, les donnes ont t lues directement dans le source .tex


Remarque
Il est possible (et prfrable) de les stocker un fichier externe

Denis Bitouz (IUT GTE Dk & LMPA)

Confrence LATEX no 10

16 / 70

Courbes avec pgfplots

Reprsentation graphique de donnes

Reprsentation de donnes (exprimentales)


Lecture partir dun fichier

Fichier externe (data.txt)


0 1
1 10
2 100

100

Code source
\begin{tikzpicture}
\begin{axis}
\addplot file {data.txt};
\end{axis}
\end{tikzpicture}

80
60
40
20
0
0

Denis Bitouz (IUT GTE Dk & LMPA)

Confrence LATEX no 10

0.5

1.5

2
17 / 70

Courbes avec pgfplots

Reprsentation graphique de donnes

Reprsentation de donnes (exprimentales)


Lecture partir dun fichier : syntaxe

Syntaxe (lecture des donnes partir dun fichier)


\addplot file {<fichier>};

o, dans le <fichier>, les donnes sont par dfaut au format suivant :


Syntaxe (format des donnes dans un fichier externe)
# ... (ligne optionnelle ignore)
% ... (ligne optionnelle ignore)

x 1 y1
x 2 y2
...

Denis Bitouz (IUT GTE Dk & LMPA)

Confrence LATEX no 10

18 / 70

Courbes avec pgfplots

Reprsentation graphique de donnes

Reprsentation de donnes (exprimentales)


Lecture partir dun fichier

Remarque
Les lignes commenant par # ou % sont ignores
Les donnes dune mme ligne sont spares par des espaces ou
tabulations
Remarque
Lalignement vertical est facultatif mais facilite la lecture

Denis Bitouz (IUT GTE Dk & LMPA)

Confrence LATEX no 10

19 / 70

Courbes avec pgfplots

Reprsentation graphique de donnes

Reprsentation de donnes (exprimentales)


Lecture partir dun fichier versus dun tableau

Remarque
La mthode de lecture partir dun fichier est simple mais limite
La mthode de lecture des donnes partir dun fichier peut tre
tendue au moyen de la mthode de lecture des donnes partir dun
tableau 2

2. Au prix de performances lgrement rduites


Denis Bitouz (IUT GTE Dk & LMPA)

Confrence LATEX no 10

20 / 70

Courbes avec pgfplots

Reprsentation graphique de donnes

Reprsentation de donnes (exprimentales)


Lecture partir dun tableau : exemple

Fichier externe (data1.txt)


Temps
0
1
2

Rep1
1
10
100

Rep2
1
0.1
0.01

Code source
1
2
3
4
5
6

\begin{tikzpicture}
\begin{axis}
\addplot table[x=Temps,y=Rep1]
{data1.txt};
\end{axis}
\end{tikzpicture}

100
80
60
40
20
0
0

Denis Bitouz (IUT GTE Dk & LMPA)

Confrence LATEX no 10

0.5

1.5

2
21 / 70

Courbes avec pgfplots

Reprsentation graphique de donnes

Reprsentation de donnes (exprimentales)


Lecture partir dun tableau : exemple (autre choix de colonnes)

Fichier externe (data1.txt)


Temps
0
1
2

Rep1
1
10
100

Rep2
1
0.1
0.01

Code source
1
2
3
4
5
6

\begin{tikzpicture}
\begin{axis}
\addplot table[x=Temps,y=Rep2]
{data1.txt};
\end{axis}
\end{tikzpicture}

1
0.8
0.6
0.4
0.2
0
0

Denis Bitouz (IUT GTE Dk & LMPA)

Confrence LATEX no 10

0.5

1.5

2
22 / 70

Courbes avec pgfplots

Reprsentation graphique de donnes

Reprsentation de donnes (exprimentales)


Lecture partir dun tableau : syntaxe

Syntaxe (lecture des donnes partir dun tableau)


\addplot table[x=<entte i>,y=<entte j>] {<fichier>};

o, dans le <fichier>, les donnes doivent par dfaut tre au format :


Syntaxe (format des donnes dans un fichier externe (tableau))
<entte 1> <entte 2> <entte 3> ...
x1
y1
z1
...
x2
y2
z2
...
...

Denis Bitouz (IUT GTE Dk & LMPA)

Confrence LATEX no 10

23 / 70

Courbes avec pgfplots

Reprsentation graphique de donnes

Reprsentation de donnes (exprimentales)


Lecture partir dun tableau : avantages

Fonctionnalits supplmentaires de la mthode de lecture partir


dun tableau :
nombre arbitraire de colonnes et choix arbitraire de celles
reprsentes
transformations la vole sur les donnes
possibilit dautres sparateurs de colonnes que lespace

Denis Bitouz (IUT GTE Dk & LMPA)

Confrence LATEX no 10

24 / 70

Courbes avec pgfplots

Reprsentation graphique de donnes

Reprsentation de donnes (exprimentales)


Lecture partir dun tableau : transformations la vole sur les donnes

Fichier externe (data1.txt)


Temps
0
1
2

Rep1
1
10
100

Rep2
1
0.1
0.01

Code source (x 7 x + 3)
1
2
3
4
5
6
7
8
9

\begin{tikzpicture}
\begin{axis}
\addplot table[%
x expr=\thisrow{Temps}+3,
y
=
Rep1
]
{data1.txt};
\end{axis}
\end{tikzpicture}

100
80
60
40
20
0
3

Denis Bitouz (IUT GTE Dk & LMPA)

Confrence LATEX no 10

3.5

4.5

5
25 / 70

Courbes avec pgfplots

Reprsentation graphique de donnes

Reprsentation de donnes (exprimentales)


Lecture partir dun tableau : autres sparateurs de colonnes que lespace

Fichier externe (data2.txt)


1
2
3
4

Temps,Rep1,Rep2
0,1,1
1,10,0.1
2,100,0.01

Code source (sp.=virgule)


1
2
3
4
5
6
7
8
9

\begin{tikzpicture}
\begin{axis}
\addplot table[
x=Temps,y=Rep1,
col sep=comma
]
{data2.txt};
\end{axis}
\end{tikzpicture}

100
80
60
40
20
0
0

Denis Bitouz (IUT GTE Dk & LMPA)

Confrence LATEX no 10

0.5

1.5

2
26 / 70

Courbes avec pgfplots

Exemple grandeur nature

Ce que nous dtaillons maintenant


1

Courbes avec pgfplots


Introduction
Systme de coordonnes et units
Premire approche
Reprsentation graphique de fonctions
Reprsentation graphique de donnes
Exemple grandeur nature
Autres graphiques
Graphiques 3D
Divers
Configuration (semi-)globale
Pour aller plus loin

Denis Bitouz (IUT GTE Dk & LMPA)

Confrence LATEX no 10

27 / 70

Courbes avec pgfplots

Exemple grandeur nature

Donnes stockes dans un tableur


Pour reprsenter des donnes exprimentales stockes dans un
tableur, la procdure suivante est la fois simple, rapide et efficace
Remarque
Cette procdure est valable pour TeXstudio mais devrait ltre
galement pour tout autre diteur de texte orient LATEX, moyennant
ventuellement quelques lgres adaptations

Denis Bitouz (IUT GTE Dk & LMPA)

Confrence LATEX no 10

28 / 70

Courbes avec pgfplots

Exemple grandeur nature

Donnes stockes dans un tableur : procdure


1

Dans le tableur, ouverture du fichier et copie des donnes ( Ctrl

Dans TeXstudio :
1 stockage des donnes dans un fichier de texte brut :
1
2
3
4

cration dun nouveau fichier vide ( Ctrl + N ) pour les donnes


collage des donnes dans ce fichier vide ( Ctrl + V )
remplacement de toutes les virgules par des points 3 ( Ctrl + R )
enregistrement de ce fichier ( Ctrl + S ) sous un nom au choix mais
avec lextension .txt, par exemple tp.txt

cration dun fichier .tex pour visualiser ces donnes :


1
2
3
4

5
3

+ C

Fichier Nouveau partir dun modle Article (French) )


chargement du package pgfplots (\usepackage{pgfplots})
utilisation de ce qui vient dtre vu (\addplot table conseill)
enregistrement de ce fichier ( Ctrl + S ) sous un nom au choix, par
exemple tp.tex
compilation : F1 (ou F5 aprs la version 2.9.4 de TeXstudio)

Admiration du rsultat

3. Le sparateur dcimal des donnes doit tre le point, et non pas la virgule
Denis Bitouz (IUT GTE Dk & LMPA)

Confrence LATEX no 10

29 / 70

Courbes avec pgfplots

Exemple grandeur nature

Donnes stockes dans un tableur : pas idal !


Attention !
Recourir un tableur est rarement la bonne solution !
Mieux : faire directement exporter dans un fichier externe les donnes
obtenues si elles proviennent de logiciels :
de calcul : Scilab, MATLAB, etc.
dacquisition de donnes : TANGO, etc.
Remarque
Le format dexport est souvent :
lun de ceux accepts par pgfplots :
lignes de commentaire dbutant par # ou %
donnes en colonnes, spares par des espaces/tabulations

paramtrable (si ncessaire)


Denis Bitouz (IUT GTE Dk & LMPA)

Confrence LATEX no 10

30 / 70

Courbes avec pgfplots

Autres graphiques

Ce que nous dtaillons maintenant


1

Courbes avec pgfplots


Introduction
Systme de coordonnes et units
Premire approche
Reprsentation graphique de fonctions
Reprsentation graphique de donnes
Exemple grandeur nature
Autres graphiques
Graphiques 3D
Divers
Configuration (semi-)globale
Pour aller plus loin

Denis Bitouz (IUT GTE Dk & LMPA)

Confrence LATEX no 10

31 / 70

Courbes avec pgfplots

Autres graphiques

Graphique de dpart
(Sans option)

100

Code source
1 \begin{tikzpicture}

80

2 \begin{axis}

60

3 \addplot coordinates {

(0,1) (1,10) (2,100) };


5 \end{axis}
6 \end{tikzpicture}
4

40
20
0
0

Denis Bitouz (IUT GTE Dk & LMPA)

Confrence LATEX no 10

0.5

1.5

32 / 70

Courbes avec pgfplots

Autres graphiques

Nuages de points
Option only marks

100

Code source
1 \begin{tikzpicture}

80

2 \begin{axis}[only marks]

60

3 \addplot coordinates {

(0,1) (1,10) (2,100) };


5 \end{axis}
6 \end{tikzpicture}
4

40
20
0
0

Denis Bitouz (IUT GTE Dk & LMPA)

Confrence LATEX no 10

0.5

1.5

33 / 70

Courbes avec pgfplots

Autres graphiques

Diagrammes en rectangles
Option ybar

100

Code source
1 \begin{tikzpicture}

80

2 \begin{axis}[ybar]

60

3 \addplot coordinates {

(0,1) (1,10) (2,100) };


5 \end{axis}
6 \end{tikzpicture}
4

40
20
0
0

0.5

1.5

Attention !
Diagrammes en rectangles , histogrammes

Denis Bitouz (IUT GTE Dk & LMPA)

Confrence LATEX no 10

34 / 70

Courbes avec pgfplots

Autres graphiques

Diagrammes en rectangles
Option ybar

100

Code source
1 \begin{tikzpicture}

80

2 \begin{axis}[ybar]

60

3 \addplot coordinates {

(0,1) (1,10) (2,100) };


5 \end{axis}
6 \end{tikzpicture}
4

40
20
0
0

0.5

1.5

Remarque
pgfplots permet de crer de vrais histogrammes (cf. option hist)

Denis Bitouz (IUT GTE Dk & LMPA)

Confrence LATEX no 10

34 / 70

Courbes avec pgfplots

Autres graphiques

chelles (semi-)logarithmiques
Environnement axis semilogxaxis, semilogyaxis ou loglogaxis

102

Code source
1 \begin{tikzpicture}
2 \begin{semilogyaxis}

101

3 \addplot coordinates {

(0,1) (1,10) (2,100) };


5 \end{semilogyaxis}
6 \end{tikzpicture}
4

100
0

0.5

1.5

Remarque
chelles logarithmiques possibles : selon les abscisses
(semilogxaxis), les ordonnes (semilogyaxis), les deux
simultanment (loglogaxis)
Denis Bitouz (IUT GTE Dk & LMPA)

Confrence LATEX no 10

35 / 70

Courbes avec pgfplots

Graphiques 3D

Ce que nous dtaillons maintenant


1

Courbes avec pgfplots


Introduction
Systme de coordonnes et units
Premire approche
Reprsentation graphique de fonctions
Reprsentation graphique de donnes
Exemple grandeur nature
Autres graphiques
Graphiques 3D
Divers
Configuration (semi-)globale
Pour aller plus loin

Denis Bitouz (IUT GTE Dk & LMPA)

Confrence LATEX no 10

36 / 70

Courbes avec pgfplots

Graphiques 3D

Syntaxe
Syntaxe
\addplot3 <donnes du graphique> ;

o les <donnes du graphique> sont fournies :


soit sous forme de fonction
soit par lune des 3 mthodes de lecture de donnes :
1
2
3

directe
partir dun fichier
partir dun fichier sous forme de tableau

Denis Bitouz (IUT GTE Dk & LMPA)

Confrence LATEX no 10

37 / 70

Courbes avec pgfplots

Graphiques 3D

Reprsentation de surfaces
Donnes sous forme de fonctions

Code source
1 \begin{tikzpicture}
2 \begin{axis}

3 \addplot3[
4
5
6
7
8
9
10

surf,
domain=0:360,
samples=40
]
{sin(x)*sin(y)};
\end{axis}
\end{tikzpicture}

Denis Bitouz (IUT GTE Dk & LMPA)

1
0

100

Confrence LATEX no 10

200
200

300

38 / 70

Courbes avec pgfplots

Graphiques 3D

Reprsentation de surfaces
Donnes sous forme de fonctions (avec barre de couleur : option colorbar)

Code source
0.5

1 \begin{tikzpicture}
2 \begin{axis}[colorbar]

1
0

3 \addplot3[
4
5
6
7
8
9
10

surf,
domain=0:360,
samples=40,
]
{sin(x)*sin(y)};
\end{axis}
\end{tikzpicture}

Denis Bitouz (IUT GTE Dk & LMPA)

0
0.5
1
0

100

Confrence LATEX no 10

200
200

300

39 / 70

Courbes avec pgfplots

Graphiques 3D

Reprsentation de surfaces
Donnes sous forme de matrice (pour le maillage) : lignes vides

Fichier externe (3d.dat)

quivalent en coodonnes

0
1
2

0
0
0

0
0
0

(0,0,0) (1,0,0) (2,0,0)

0
1
2

1
1
1

0
0.6
0.7

(0,2,0) (1,2,0.7) (2,2,0.8)

0
1
2

2
2
2

0
0.7
0.8

(0,1,0) (1,1,0.6) (2,1,0.7)

Code source
\begin{tikzpicture}\begin{axis}
\addplot3[surf] file {3d.dat};
\end{axis}\end{tikzpicture}

0.5

0
0
Denis Bitouz (IUT GTE Dk & LMPA)

Confrence LATEX no 10

2
1
1

2 0

40 / 70

Courbes avec pgfplots

Graphiques 3D

Reprsentation de surfaces
Donnes sous forme de matrice : sans lignes vides (indiques par mesh/rows)

Fichier externe (3d-alt.dat)

quivalent en coodonnes

0
1
2
0
1
2
0
1
2

(0,0,0) (1,0,0) (2,0,0)


(0,1,0) (1,1,0.6) (2,1,0.7)
(0,2,0) (1,2,0.7) (2,2,0.8)

0
0
0
1
1
1
2
2
2

0
0
0
0
0.6
0.7
0
0.7
0.8

Code source
\begin{tikzpicture}\begin{axis}
\addplot3[surf,mesh/rows=3]
file {3d-alt.dat};
\end{axis}\end{tikzpicture}

Denis Bitouz (IUT GTE Dk & LMPA)

Confrence LATEX

0.5

0
0

no

10

2
1
1

2 0
41 / 70

Courbes avec pgfplots

Graphiques 3D

Reprsentation de courbes
Donnes pas sous forme de matrice (pas de maillage)

Fichier externe (3d-alt.dat) sans lignes vides


0
1
2
0
1
2
0
1
2

0
0
0
1
1
1
2
2
2

0
0
0
0
0.6
0.7
0
0.7
0.8

Code source
\begin{tikzpicture}\begin{axis}
\addplot3 file {3d-alt.dat};
\end{axis}\end{tikzpicture}

0.5

0
0

Denis Bitouz (IUT GTE Dk & LMPA)

Confrence LATEX no 10

2
1
1

2 0
42 / 70

Courbes avec pgfplots

Divers

Ce que nous dtaillons maintenant


1

Courbes avec pgfplots


Introduction
Systme de coordonnes et units
Premire approche
Reprsentation graphique de fonctions
Reprsentation graphique de donnes
Exemple grandeur nature
Autres graphiques
Graphiques 3D
Divers
Configuration (semi-)globale
Pour aller plus loin

Denis Bitouz (IUT GTE Dk & LMPA)

Confrence LATEX no 10

43 / 70

Courbes avec pgfplots

Divers

Graphiques avec incertitudes ou mtadonnes


Les 3 mthodes de lecture des donnes :
1

directe

partir dun fichier

partir dun fichier sous forme de tableau

permettent de traiter 2 ou 3 coordonnes mais aussi :


une indication dincertitude pour des graphiques avec barres
derreur 4 (cf. +-, +=, -=)
une mtadonne permettant par exemple de reprsenter les
points avec des styles (par exemple des couleurs) diffrents (cf.
point meta)
Remarque
Ceci nest pas trait dans ce cours
4. Sauf mthode 2
Denis Bitouz (IUT GTE Dk & LMPA)

Confrence LATEX no 10

44 / 70

Courbes avec pgfplots

Divers

Changement dchelle
Option scale=<facteur> ou styles prffinis
100

Code source
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

\newcommand{\myplot}{%
\addplot coordinates {
(0,1) (1,10) (2,100) }; }
%
\begin{tikzpicture}
\begin{axis}[scale=0.5]
\myplot
\end{axis}
\end{tikzpicture}

50
0
0

100
80
60
40
20
0
0

0.5

1.5

\begin{tikzpicture}
\begin{axis}[tiny]
\myplot
\end{axis}
\end{tikzpicture}

Denis Bitouz (IUT GTE Dk & LMPA)

Confrence LATEX no 10

45 / 70

Courbes avec pgfplots

Divers

Points masqus (fonctions)


Option mark=none

Code source

10

1 \begin{tikzpicture}
2 \begin{axis}
3 % Courbe

y = 10 x2

4 \addplot+[mark=none]

{10-x^2};
6 \end{axis}
7 \end{tikzpicture}
5

Denis Bitouz (IUT GTE Dk & LMPA)

10

Confrence LATEX no 10

46 / 70

Courbes avec pgfplots

Divers

Points masqus (donnes exprimentales)


Option mark=none

100

Code source
1 \begin{tikzpicture}

80

2 \begin{axis}

60

3 \addplot+[mark=none]
4
5
6
7
8

coordinates {
(0,1) (1,10) (2,100)
};
\end{axis}
\end{tikzpicture}

Denis Bitouz (IUT GTE Dk & LMPA)

40
20
0

Confrence LATEX no 10

0.5

1.5

47 / 70

Courbes avec pgfplots

Divers

Courbes lisses
Option smooth

100

Code source
1 \begin{tikzpicture}

80

2 \begin{axis}

60

3 \addplot+[mark=none,smooth]
4
5
6
7
8

coordinates {
(0,1) (1,10) (2,100)
};
\end{axis}
\end{tikzpicture}

Denis Bitouz (IUT GTE Dk & LMPA)

40
20
0

Confrence LATEX no 10

0.5

1.5

48 / 70

Courbes avec pgfplots

Divers

Axes classiques
Options axis x line et axis y line

15

Code source
10

1 \begin{tikzpicture}
2 \begin{axis}[

3 axis x line=center,
4 axis y line=center]
5 % Courbe y = x2 10

6 \addplot {x^2-10};
7 \end{axis}

10

8 \end{tikzpicture}

Denis Bitouz (IUT GTE Dk & LMPA)

Confrence LATEX no 10

50 / 70

Courbes avec pgfplots

Divers

Graphiques multiples
Fonctions

Code source

10

1 \begin{tikzpicture}
2 \begin{axis}
3 % Courbe

= 10 x2

4 \addplot {10-x^2};
5 % Courbe y = x3 /20 10

10

6 \addplot
7 {x^3/20-10};

8 \end{axis}

9 \end{tikzpicture}

Denis Bitouz (IUT GTE Dk & LMPA)

Confrence LATEX no 10

51 / 70

Courbes avec pgfplots

Divers

Graphiques multiples
Donnes exprimentales

100

Code source
1 \begin{tikzpicture}

80

2 \begin{axis}

60

3 \addplot coordinates {
4
5
6
7
8
9
10

(0,1) (1,10) (2,100)


};
\addplot coordinates {
(0,1) (1,0.1) (2,0.01)
};
\end{axis}
\end{tikzpicture}

Denis Bitouz (IUT GTE Dk & LMPA)

40
20
0

Confrence LATEX no 10

0.5

1.5

52 / 70

Courbes avec pgfplots

Divers

Graphiques multiples
Donnes exprimentales en diagrammes en rectangles

Code source
1 \begin{tikzpicture}
2 \begin{axis}[ybar]
3 \addplot coordinates {
4
5
6
7
8
9
10

(0,1) (1,10) (2,100)


};
\addplot coordinates {
(0,4) (1,17) (2,86)
};
\end{axis}
\end{tikzpicture}

Denis Bitouz (IUT GTE Dk & LMPA)

100
80
60
40
20
0
0

Confrence LATEX no 10

0.5

1.5

53 / 70

Courbes avec pgfplots

Divers

Valeurs affiches sur le graphique


Exemple (diagrammes en rectangles)

Code source
1 \begin{tikzpicture}
2 \begin{axis}[ybar,
3 nodes near coords,

80
60

4 nodes near coords align

40

5 ={vertical}]

20

6 \addplot coordinates {

(0,1) (1,10) (2,100)


8 };
9 \end{axis}
10 \end{tikzpicture}
7

Denis Bitouz (IUT GTE Dk & LMPA)

100

100

10
1
0

Confrence LATEX no 10

0.5

1.5

54 / 70

Courbes avec pgfplots

Divers

Lgende
Commande \legend

1 \begin{tikzpicture}

0.8

2 \begin{axis}

0.6

3 \addplot coordinates {
4
5
6
7
8

(0,1) (1,0.1) (2,0.01)


};
\legend{Rponse \no 2}
\end{axis}
\end{tikzpicture}

Denis Bitouz (IUT GTE Dk & LMPA)

Rponse no 2

Code source

0.4
0.2
0

Confrence LATEX no 10

0.5

1.5

55 / 70

Courbes avec pgfplots

Divers

Lgendes et graphiques multiples


Occurrences : multiples de \addplot, unique de \legend

1
2
3
4
5
6
7
8
9
10
11

\begin{tikzpicture}
\begin{axis}
\addplot coordinates {
(0,100) (1,10) (2,1)
};
\addplot coordinates {
(0,1) (1,0.1) (2,0.01)
};
\legend{Rponse \no 1,Rponse \no 3}
\end{axis}
\end{tikzpicture}

Denis Bitouz (IUT GTE Dk & LMPA)

Rponse no 1
Rponse no 3

100

Code source

80
60
40
20
0

Confrence LATEX no 10

0.5

1.5

56 / 70

Courbes avec pgfplots

Divers

Lgendes et graphiques multiples


Occurrences : multiples de \addplot, unique de \legend

1
2
3
4
5
6
7
8
9
10
11

\begin{tikzpicture}
\begin{axis}[ybar]
\addplot coordinates {
(0,100) (1,10) (2,1)
};
\addplot coordinates {
(0,86) (1,17) (2,4)
};
\legend{Rponse \no 1,Rponse \no 4}
\end{axis}
\end{tikzpicture}

Denis Bitouz (IUT GTE Dk & LMPA)

Rponse no 1
Rponse no 4

100

Code source

80
60
40
20
0

Confrence LATEX no 10

0.5

1.5

57 / 70

Courbes avec pgfplots

Divers

Label(s)
Options xlabel et ylabel

100

Code source
\begin{tikzpicture}
\begin{axis}[
xlabel=Temps,
ylabel=Rponse \no 1
]
\addplot coordinates {
(0,1) (1,10) (2,100)
};
\end{axis}
\end{tikzpicture}

Denis Bitouz (IUT GTE Dk & LMPA)

80
Rponse no 1

1
2
3
4
5
6
7
8
9
10

60
40
20
0
0

Confrence LATEX no 10

0.5

1
Temps

1.5

58 / 70

Courbes avec pgfplots

Divers

Titre
Option title

Rponse no 1

Code source
1
2
3
4
5
6
7
8
9

\begin{tikzpicture}
\begin{axis}[
title=Rponse \no 1
]
\addplot coordinates {
(0,1) (1,10) (2,100)
};
\end{axis}
\end{tikzpicture}

100
80
60
40
20
0
0

0.5

1.5

Attention !
Il vaut bien mieux faire flotter le graphique : lgende possible
(\caption), listage possible (\listoffigures), emplacement optimis
Denis Bitouz (IUT GTE Dk & LMPA)

Confrence LATEX no 10

59 / 70

Courbes avec pgfplots

Divers

Titre
Mieux : image flottante

Code source
100
1 \begin{figure}[ht]
2
\centering
3
\begin{tikzpicture}
4
\begin{axis}
5
\addplot coordinates {
6
(0,1) (1,10) (2,100)
7
};
8
\end{axis}
9
\end{tikzpicture}
10
\caption{Rponse \no 1}
11
\label{fig:rep1}
12 \end{figure}

Denis Bitouz (IUT GTE Dk & LMPA)

80
60
40
20
0
0

0.5

1.5

Figure 1 Rponse no 1

Confrence LATEX no 10

60 / 70

Courbes avec pgfplots

Configuration (semi-)globale

Ce que nous dtaillons maintenant


1

Courbes avec pgfplots


Introduction
Systme de coordonnes et units
Premire approche
Reprsentation graphique de fonctions
Reprsentation graphique de donnes
Exemple grandeur nature
Autres graphiques
Graphiques 3D
Divers
Configuration (semi-)globale
Pour aller plus loin

Denis Bitouz (IUT GTE Dk & LMPA)

Confrence LATEX no 10

61 / 70

Courbes avec pgfplots

Configuration (semi-)globale

Configuration (semi-)globale
Un certains nombre de rglages peuvent tre effectus de faon
(semi-)globale au moyen de
Syntaxe
\pgfplotsset{<rglages>}

Denis Bitouz (IUT GTE Dk & LMPA)

Confrence LATEX no 10

62 / 70

Courbes avec pgfplots

Configuration (semi-)globale

Rglage de compatibilit
Pour bnficier des fonctionnalits les plus rcentes, on effectuera
systmatiquement au moins le rglage 5 :
Code source
\pgfplotsset{compat = 1.12} % ou 1.11 ou 1.10 ou...

5. On remplacera 1.12 par 1.11, 1.10, etc. en cas de versions moins rcentes de
pgfplots
Denis Bitouz (IUT GTE Dk & LMPA)

Confrence LATEX no 10

63 / 70

Courbes avec pgfplots

Configuration (semi-)globale

Sparateurs dcimal et de milliers


Code source
0.6
%
%
%
%
%
%
1 \begin{tikzpicture}
2
\begin{axis}
3
\addplot coordinates {
4
(2950,0)
5
(3000,0.2)
6
(3015,0.7)
7
};
8
\end{axis}
9 \end{tikzpicture}

Denis Bitouz (IUT GTE Dk & LMPA)

0.4

0.2

0
2,960

Confrence LATEX no 10

2,980

3,000

3,020

64 / 70

Courbes avec pgfplots

Configuration (semi-)globale

Sparateurs dcimal et de milliers la franaise


Code source
0,6
\pgfplotsset{%
/pgf/number format/.cd,
use comma,
1000 sep = {\,},
min exponent for 1000 sep = 4
}
1 \begin{tikzpicture}
2
\begin{axis}
3
\addplot coordinates {
4
(2950,0)
5
(3000,0.2)
6
(3015,0.7)
7
};
8
\end{axis}
9 \end{tikzpicture}

Denis Bitouz (IUT GTE Dk & LMPA)

0,4

0,2

0
2960

Confrence LATEX no 10

2980

3000

3020

65 / 70

Courbes avec pgfplots

Configuration (semi-)globale

Lgende(s)
Emplacement parfois convenable

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

Rponse no 1
Rponse no 4

100

Code source

80
60
40
\begin{tikzpicture}
\begin{axis}[ybar]
\addplot coordinates {
(0,100) (1,10) (2,1)
};
\addplot coordinates {
(0,86) (1,17) (2,4)
};
\legend{Rponse \no 1,Rponse \no 4}
\end{axis}
\end{tikzpicture}

Denis Bitouz (IUT GTE Dk & LMPA)

20
0

Confrence LATEX no 10

0.5

1.5

66 / 70

Courbes avec pgfplots

Configuration (semi-)globale

Lgende(s)
Emplacement parfois gnant...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

Rponse no 1
Rponse no 5

100

Code source

80
60
40
\begin{tikzpicture}
\begin{axis}[ybar]
\addplot coordinates {
(0,1) (1,10) (2,100)
};
\addplot coordinates {
(0,4) (1,17) (2,86)
};
\legend{Rponse \no 1,Rponse \no 5}
\end{axis}
\end{tikzpicture}

Denis Bitouz (IUT GTE Dk & LMPA)

20
0

Confrence LATEX no 10

0.5

1.5

67 / 70

Courbes avec pgfplots

Configuration (semi-)globale

Lgende(s)
Emplacement parfois gnant... mais modifiable

Rponse no 1
Rponse no 5

Code source
1 \pgfplotsset{%
2
every axis legend/.append style = {
%
3
at = {(0.5,1.03)},%
4
anchor = south%
5
}
6 }
7 \begin{tikzpicture}
8 \begin{axis}[ybar]
9 \addplot coordinates {
10
(0,1) (1,10) (2,100)
11 };
12 \addplot coordinates {
13
(0,4) (1,17) (2,86)
14 };
15 \legend{Rponse \no 1,Rponse \no 5}
16 \end{axis}
17 \end{tikzpicture}
Denis Bitouz (IUT GTE Dk & LMPA)

100
80
60
40
20
0

Confrence LATEX no 10

0.5

1.5

68 / 70

Courbes avec pgfplots

Pour aller plus loin

Ce que nous dtaillons maintenant


1

Courbes avec pgfplots


Introduction
Systme de coordonnes et units
Premire approche
Reprsentation graphique de fonctions
Reprsentation graphique de donnes
Exemple grandeur nature
Autres graphiques
Graphiques 3D
Divers
Configuration (semi-)globale
Pour aller plus loin

Denis Bitouz (IUT GTE Dk & LMPA)

Confrence LATEX no 10

69 / 70

Courbes avec pgfplots

Pour aller plus loin

Documents consulter
Bien dautres fonctionnalits et possibilits de personnalisation nont
pas pu tre abordes. On consultera
Comment faire de beaux graphiques avec Tikz et PGFPLOTS
sur le site Les fiches de Bbert (pour une vritable Publication
Assiste par Ordinateur)
un site rpertoriant un certain nombre de ralisations au moyen
du package pgfplots
la documentation du package : texdoc pgfplots

Denis Bitouz (IUT GTE Dk & LMPA)

Confrence LATEX no 10

70 / 70