Diagrammes en barres avec pgfplots
Ajoutez ybar (barres verticales) ou xbar (barres horizontales) à un axis pgfplots, nommez les catégories avec symbolic x coords, et donnez chaque série sous forme d’\addplot avec des coordonnées.
Barres verticales avec catégories nommées
ybar sur l’axe transforme chaque série en barres. symbolic x coords liste les noms des catégories dans l’ordre, et xtick=data place une graduation sous chaque barre.
Une série de barres
\begin{tikzpicture}
\begin{axis}[
ybar, ymin=0,
symbolic x coords={Mon, Tue, Wed, Thu, Fri},
xtick=data,
ylabel={Visitors},
enlarge x limits=0.15,
]
\addplot coordinates {(Mon,44) (Tue,31) (Wed,38) (Thu,27) (Fri,40)};
\end{axis}
\end{tikzpicture}Les barres partent de zéro. Sans ymin=0, l’axe ajoute un peu d’espace sous zéro : définissez-le pour que les barres reposent sur le cadre. enlarge x limits ajoute de l’espace sur les côtés, pour que les barres extérieures ne soient pas coupées par le cadre.
Barres groupées et valeurs affichées
Avec plusieurs séries, les barres de chaque catégorie se placent côte à côte. nodes near coords affiche chaque valeur au-dessus de sa barre, et bar width définit la largeur (10pt par défaut).
Deux séries, avec les valeurs sur les barres
\begin{tikzpicture}
\begin{axis}[
ybar, ymin=0, ymax=55, bar width=12pt,
symbolic x coords={Erika, Hans, John},
xtick=data, enlarge x limits=0.25,
nodes near coords,
ylabel={Points},
legend style={at={(0.5,-0.12)}, anchor=north, legend columns=2},
]
\addplot coordinates {(Erika,44) (Hans,31) (John,38)};
\addplot coordinates {(Erika,40) (Hans,36) (John,29)};
\legend{Round 1, Round 2}
\end{axis}
\end{tikzpicture}ybar=4pt définit l’écart entre les barres d’un groupe (2pt par défaut).
Barres empilées
ybar stacked empile les séries au lieu de les placer côte à côte. Le deuxième \addplot commence là où le premier s’arrête.
Barres empilées par trimestre
\begin{tikzpicture}
\begin{axis}[
ybar stacked, ymin=0, bar width=16pt,
symbolic x coords={Q1, Q2, Q3, Q4},
xtick=data, enlarge x limits=0.2,
legend pos=north west, ylabel={Sales},
]
\addplot coordinates {(Q1,12) (Q2,18) (Q3,15) (Q4,22)};
\addplot coordinates {(Q1,6) (Q2,9) (Q3,12) (Q4,10)};
\legend{Online, In store}
\end{axis}
\end{tikzpicture}Barres horizontales
xbar dessine les barres de gauche à droite. Inversez le rôle des axes : les catégories vont dans symbolic y coords et ytick=data, et chaque coordonnée s’écrit (valeur, catégorie).
Barres horizontales
\begin{tikzpicture}
\begin{axis}[
xbar, xmin=0, xmax=50,
symbolic y coords={Rust, Python, C},
ytick=data, enlarge y limits=0.3,
nodes near coords, xlabel={Projects},
width=8cm, height=5cm,
]
\addplot coordinates {(44,Rust) (31,Python) (12,C)};
\end{axis}
\end{tikzpicture}xbar stacked fonctionne aussi.
Des nombres comme catégories
Les années et autres nombres n’ont pas besoin de symbolic x coords : tracez-les comme des nombres et utilisez xtick=data. Par défaut, pgfplots écrit 2024 sous la forme « 2,024 » ; désactivez le séparateur de milliers dans le style des étiquettes de graduation.
Des années sur l’axe x
\begin{tikzpicture}
\begin{axis}[
ybar, ymin=0, xtick=data, enlarge x limits=0.25,
x tick label style={/pgf/number format/1000 sep=},
]
\addplot coordinates {(2023,18) (2024,31) (2025,44)};
\end{axis}
\end{tikzpicture}Les options en un coup d’œil
| Option | Effet | Dans Scissor LaTeX |
|---|---|---|
ybar, xbar | barres verticales ou horizontales, côte à côte | Fonctionne |
ybar=4pt | l’écart entre les barres d’un groupe | Fonctionne |
ybar stacked, xbar stacked | barres empilées | Fonctionne sur les axes linéaires |
bar width=12pt | la largeur de chaque barre | Fonctionne |
bar shift=.. | décale une série latéralement | Fonctionne |
nodes near coords | la valeur au-dessus (ou à côté) de chaque barre | Fonctionne |
symbolic x coords, symbolic y coords | catégories nommées | Fonctionne, sauf pour les noms qui ressemblent à des nombres (pas d’étiquettes de graduation) |
xticklabel style={rotate=45, anchor=east} | noms de catégories inclinés | Fonctionne |
ybar interval | barres qui remplissent l’espace entre les valeurs x | En partie : dessinées comme des barres ordinaires aux valeurs x |
hist (bibliothèque statistics) | répartit les valeurs en classes | Non pris en charge : ignorée avec un message, les valeurs brutes sont tracées comme une ligne |
Ce qui diffère d’une installation TeX
Tous les exemples de cette page compilent aussi avec pgfplots dans une installation TeX. Manuel : ctan.org/pkg/pgfplots.
Voir aussi les bases de pgfplots, Barres d’erreur, Données depuis un CSV et pgfplots.
Questions et réponses
Comment créer un diagramme en barres en LaTeX ?
Chargez pgfplots et écrivez \begin{axis}[ybar, symbolic x coords={A,B,C}, xtick=data] avec un \addplot coordinates {(A,3) (B,5) (C,2)}; par série.
Comment afficher les valeurs au-dessus des barres ?
Ajoutez nodes near coords aux options de l’axe. Chaque barre reçoit sa valeur comme étiquette.
Comment faire partir les barres de zéro ?
Elles partent déjà de zéro. Définissez ymin=0 sur l’axe (ou xmin=0 pour xbar) pour supprimer l’espace en dessous.
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.