Aller au contenu

Courbes avec pgfplots

Ajoutez un \addplot par ligne dans un axis ; donnez un style à chacune avec des options comme red, dashed, thick ou mark=square*, ou laissez la liste cyclique choisir un style pour vous.

Plusieurs lignes dans un même axe

Chaque \addplot ajoute une série. Sans options, les séries prennent tour à tour leur style dans la liste cyclique. Avec \addplot+[...], vous conservez ce style et n’en modifiez qu’une partie.

Trois séries avec la liste cyclique par défaut

LaTeXPréambule : \usepackage{pgfplots}Ouvrir dans l'éditeur (s’ouvre dans un nouvel onglet)
\begin{tikzpicture}
  \begin{axis}[xlabel=Week, ylabel=Orders, legend pos=north west]
    \addplot coordinates {(1,12) (2,18) (3,25) (4,31) (5,44)};
    \addplot coordinates {(1,10) (2,14) (3,15) (4,21) (5,24)};
    \addplot+[dashed] coordinates {(1,5) (2,9) (3,8) (4,12) (5,13)};
    \legend{Erika, Hans, John}
  \end{axis}
\end{tikzpicture}
Composé par Scissor LaTeX: Trois séries avec la liste cyclique par défaut

Styles de ligne et marqueurs

Les options après \addplot définissent la couleur, la ligne et les marqueurs. Vous pouvez les combiner librement.

OptionValeursDans Scissor LaTeX
couleurred, blue!60!black, color=teal, tout nom ou mélange xcolorFonctionne
épaisseurultra thin, very thin, thin, semithick, thick, very thick, ultra thick, line width=1.5ptFonctionne
motif de tiretssolid, dashed, dotted, densely dashed, loosely dotted, dashdotted, dash pattern=on 4pt off 2ptFonctionne
mark=*, o, square*, square, triangle*, triangle, diamond*, diamond, x, +, star, pentagon*, asterisk, otimes*, |, -, noneFonctionne
mark size=3ptrayon du marqueurFonctionne
mark options={fill=white}style des marqueurs uniquementFonctionne
mark repeat=2un marqueur tous les deux pointsFonctionne
no marks, only markslignes seules, marqueurs seulsFonctionne

Couleurs, motifs de tirets et marqueurs

LaTeXPréambule : \usepackage{pgfplots}Ouvrir dans l'éditeur (s’ouvre dans un nouvel onglet)
\begin{tikzpicture}
  \begin{axis}[domain=0:4, samples=9, legend pos=outer north east]
    \addplot[blue, thick, mark=*] {x};
    \addplot[red, dashed, mark=square*, mark options={fill=white}] {x^1.5/2};
    \addplot[teal, densely dotted, very thick] {sqrt(x)};
    \addplot[orange, mark=triangle*, mark size=3pt, only marks] {4 - x};
    \legend{linear, power, root, falling}
  \end{axis}
\end{tikzpicture}
Composé par Scissor LaTeX: Couleurs, motifs de tirets et marqueurs

Les marqueurs sont toujours dessinés en trait plein, même sur une série en tirets, comme dans pgfplots.

Choisir une liste cyclique

Une liste cyclique est la suite de styles qu’utilisent les commandes \addplot sans option. Choisissez-en une prédéfinie avec cycle list name, ou écrivez la vôtre avec cycle list.

La liste cyclique black white, et une liste personnalisée

LaTeXPréambule : \usepackage{pgfplots}Ouvrir dans l'éditeur (s’ouvre dans un nouvel onglet)
\begin{tikzpicture}
  \begin{axis}[cycle list name=black white, width=6.5cm, height=5cm, title={black white}]
    \addplot coordinates {(0,0) (1,1) (2,4)};
    \addplot coordinates {(0,1) (1,2) (2,2)};
    \addplot coordinates {(0,2) (1,0) (2,1)};
  \end{axis}
\end{tikzpicture}
\begin{tikzpicture}
  \begin{axis}[cycle list={{red, thick}, {blue, dashed}}, width=6.5cm, height=5cm, title={custom}]
    \addplot coordinates {(0,0) (1,1) (2,4)};
    \addplot coordinates {(0,1) (1,2) (2,2)};
  \end{axis}
\end{tikzpicture}
Composé par Scissor LaTeX: La liste cyclique black white, et une liste personnalisée

Noms prédéfinis qui fonctionnent : color (par défaut), exotic, black white, mark list et linestyles. \pgfplotscreateplotcyclelist{name}{...} dans le préambule définit une liste réutilisable.

Courbes lisses et escaliers

smooth trace une courbe passant par les points au lieu de segments droits ; tension (0.55 par défaut) règle son arrondi. const plot trace une fonction en escalier qui conserve chaque valeur jusqu’au point suivant.

smooth et const plot

LaTeXPréambule : \usepackage{pgfplots}Ouvrir dans l'éditeur (s’ouvre dans un nouvel onglet)
\begin{tikzpicture}
  \begin{axis}[ymin=0, legend pos=north west]
    \addplot+[smooth] coordinates {(0,1) (1,2.5) (2,1.8) (3,3.2) (4,2.4)};
    \addplot+[const plot] coordinates {(0,0.5) (1,1) (2,1.5) (3,1.2) (4,2)};
    \legend{smooth, const plot}
  \end{axis}
\end{tikzpicture}

Fonctions en degrés et en radians

Les formules utilisent pgfmath : + - * / ^, les parenthèses, sqrt, exp, ln, abs, min, max, sin, cos, tan et d’autres, avec les constantes pi et e. Les angles sont en degrés : convertissez les radians avec deg(x).

sin et cos sur une période

LaTeXPréambule : \usepackage{pgfplots}Ouvrir dans l'éditeur (s’ouvre dans un nouvel onglet)
\begin{tikzpicture}
  \begin{axis}[domain=0:2*pi, samples=80, xlabel=$t$,
               xtick={0,1.5708,3.1416,4.7124,6.2832},
               xticklabels={$0$,$\frac{\pi}{2}$,$\pi$,$\frac{3\pi}{2}$,$2\pi$},
               legend pos=south west]
    \addplot[blue, thick] {sin(deg(x))};
    \addplot[red, thick, dashed] {cos(deg(x))};
    \legend{$\sin t$, $\cos t$}
  \end{axis}
\end{tikzpicture}

Courbes paramétrées

Pour tracer une courbe définie par x(t) et y(t), écrivez les deux formules entre parenthèses, séparées par une virgule, et définissez variable=t.

Une courbe de Lissajous

LaTeXPréambule : \usepackage{pgfplots}Ouvrir dans l'éditeur (s’ouvre dans un nouvel onglet)
\begin{tikzpicture}
  \begin{axis}[axis lines=middle, xmin=-1.3, xmax=1.3, ymin=-1.3, ymax=1.3]
    \addplot[purple, thick, domain=0:360, samples=120, variable=t]
      ({cos(t)}, {sin(2*t)});
  \end{axis}
\end{tikzpicture}

Interruptions dans une courbe

Une fonction comme 1/x part vers l’infini. restrict y to domain supprime les points hors d’un intervalle, et unbounded coords=jump interrompt la ligne à cet endroit au lieu de relier les deux branches. Placez les deux sur l’\addplot.

1/x avec une interruption en zéro

LaTeXPréambule : \usepackage{pgfplots}Ouvrir dans l'éditeur (s’ouvre dans un nouvel onglet)
\begin{tikzpicture}
  \begin{axis}[ymin=-10, ymax=10, axis lines=middle]
    \addplot[blue, thick, domain=-3:3, samples=200,
             restrict y to domain=-10:10, unbounded coords=jump] {1/x};
  \end{axis}
\end{tikzpicture}

Ce qui diffère d’une installation TeX

Le manuel de pgfplots sur CTAN décrit toutes les options : ctan.org/pkg/pgfplots. Pour des points sans lignes, voir nuages de points.

Voir aussi les bases de pgfplots, Axes logarithmiques, Groupes de graphiques et Données depuis un CSV.

Questions et réponses

Comment tracer une fonction en LaTeX ?

Écrivez \addplot[domain=a:b, samples=n] {formula}; dans un axis, avec x comme variable, par exemple {x^2 - 1}.

Comment supprimer les marqueurs d’une ligne ?

Ajoutez no marks aux options de l’\addplot, ou donnez des options sans + (par exemple \addplot[blue]), ce qui trace une ligne simple.

Pourquoi sin(x) semble-t-il presque plat ?

pgfplots lit l’angle en degrés : sin(x) de 0 à 6 ne couvre donc que 6 degrés. Écrivez sin(deg(x)).

Chaque exemple de cette page est composé par Scissor LaTeX lors de la génération du site. Dernière mise à jour : 2026-11-07.