Aller au contenu

Nuages de points avec pgfplots

Ajoutez only marks à un \addplot dans un axis pgfplots, pour que les points soient dessinés sans lignes ; choisissez la forme avec mark= et lisez les points depuis des coordonnées ou un tableau.

Des points sans lignes

Un nuage de points est une série dessinée uniquement avec des marqueurs. Ajoutez only marks à l’\addplot, avec + pour conserver la couleur et le marqueur de la liste cyclique.

Deux groupes de points

LaTeXPréambule : \usepackage{pgfplots}Ouvrir dans l'éditeur (s’ouvre dans un nouvel onglet)
\begin{tikzpicture}
  \begin{axis}[xlabel={Height (m)}, ylabel={Mass (kg)}, legend pos=north west]
    \addplot+[only marks] coordinates {
      (1.62,55) (1.68,61) (1.71,66) (1.75,69) (1.80,74) (1.84,79)};
    \addplot+[only marks] coordinates {
      (1.58,49) (1.64,57) (1.69,58) (1.73,64) (1.77,68)};
    \legend{Group A, Group B}
  \end{axis}
\end{tikzpicture}
Composé par Scissor LaTeX: Deux groupes de points

Formes, tailles et couleurs des marqueurs

mark= définit la forme et mark size= son rayon (2pt par défaut). Les formes pleines se terminent par *. mark options ne s’applique qu’aux marqueurs, par exemple pour un marqueur ouvert rempli de blanc.

Des marqueurs différents pour chaque série

LaTeXPréambule : \usepackage{pgfplots}Ouvrir dans l'éditeur (s’ouvre dans un nouvel onglet)
\begin{tikzpicture}
  \begin{axis}[enlargelimits=0.15, legend pos=outer north east]
    \addplot[only marks, mark=o, blue] coordinates {(1,2) (2,3) (3,2.5)};
    \addplot[only marks, mark=square*, red, mark size=3pt] coordinates {(1,1) (2,1.8) (3,1.2)};
    \addplot[only marks, mark=triangle*, teal, mark options={fill=white}] coordinates {(1,3) (2,4) (3,3.8)};
    \addplot[only marks, mark=x, black, mark size=4pt] coordinates {(1.5,0.5) (2.5,0.8)};
    \legend{circle, square, triangle, cross}
  \end{axis}
\end{tikzpicture}

Les formes qui fonctionnent sont listées sur la page courbes.

Des points depuis un tableau

Au-delà de quelques points, écrivez-les sous forme de tableau. La première ligne nomme les colonnes ; x= et y= choisissent les colonnes à tracer. Le tableau peut figurer directement dans le code, comme ici, ou dans un fichier (voir données depuis un fichier CSV).

Des points lus depuis un tableau dans le code

LaTeXPréambule : \usepackage{pgfplots}Ouvrir dans l'éditeur (s’ouvre dans un nouvel onglet)
\begin{tikzpicture}
  \begin{axis}[xlabel={Hours studied}, ylabel={Points}]
    \addplot[only marks, mark=*, blue!70!black] table[x=hours, y=points] {
      hours points
      2     21
      3     26
      4     30
      5     29
      6     37
      7     40
      8     44
    };
    \addplot[red, domain=2:8] {13.5 + 3.8*x};
  \end{axis}
\end{tikzpicture}

La ligne rouge est une formule tracée par-dessus les points, une façon simple de montrer une tendance ajustée.

Colorer les points selon une valeur

Avec scatter, chaque point reçoit une couleur de la palette selon une valeur. point meta=y utilise la valeur y ; scatter src=explicit avec meta= lit une troisième colonne. Ajoutez colorbar pour afficher l’échelle.

Des points colorés selon une troisième colonne

LaTeXPréambule : \usepackage{pgfplots}Ouvrir dans l'éditeur (s’ouvre dans un nouvel onglet)
\begin{tikzpicture}
  \begin{axis}[colorbar, colormap/viridis, xlabel=$x$, ylabel=$y$]
    \addplot[scatter, only marks, mark size=3pt, scatter src=explicit]
      table[x=x, y=y, meta=t] {
      x   y   t
      0.5 1.0 10
      1.0 2.2 15
      1.6 1.4 21
      2.1 3.0 28
      2.8 2.1 33
      3.3 3.6 44
    };
  \end{axis}
\end{tikzpicture}

Classes de points

Dans pgfplots, scatter/classes donne à chaque nom de classe d’une colonne son propre marqueur. Scissor LaTeX ne le prend pas encore en charge : l’option est ignorée avec un message, et tous les points reçoivent le même marqueur.

scatter/classes : un seul marqueur pour tous les points

LaTeXPréambule : \usepackage{pgfplots}Ouvrir dans l'éditeur (s’ouvre dans un nouvel onglet)
\begin{tikzpicture}
  \begin{axis}[width=6cm, height=5cm]
    \addplot[scatter, only marks, scatter src=explicit symbolic,
             scatter/classes={a={mark=square*, blue}, b={mark=*, red}}]
      table[meta=group] {
      x y group
      1 1 a
      2 2 b
      3 1.5 a
    };
  \end{axis}
\end{tikzpicture}

Onglet Problèmes : pgfplots option 'scatter/classes' is not supported yet

Ce qui diffère d’une installation TeX

Tous les détails sur les marqueurs et les options de scatter se trouvent dans le manuel de pgfplots : ctan.org/pkg/pgfplots.

Questions et réponses

Comment créer un nuage de points sans lignes ?

Ajoutez only marks aux options de l’\addplot, par exemple \addplot+[only marks] coordinates {...};.

Comment changer la taille des points ?

Utilisez mark size=3pt sur l’\addplot. La valeur est le rayon du marqueur.

Puis-je tracer des points depuis un fichier CSV ?

Oui. Ajoutez le fichier au projet et écrivez \addplot+[only marks] table[x=a, y=b, col sep=comma] {file.csv};.

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.