Vai al contenuto

Grafici a dispersione con pgfplots

Aggiungi only marks a un \addplot in un axis di pgfplots, così i punti vengono disegnati senza linee; scegli la forma con mark= e leggi i punti da coordinate o da una tabella.

Punti senza linee

Un grafico a dispersione è una serie disegnata con soli marcatori. Aggiungi only marks all’\addplot, con + per mantenere colore e marcatore della cycle list.

Due gruppi di punti

LaTeXPreambolo: \usepackage{pgfplots}Apri nell'editor (si apre in una nuova scheda)
\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}
Composto da Scissor LaTeX: Due gruppi di punti

Forme, dimensioni e colori dei marcatori

mark= imposta la forma e mark size= il suo raggio (2pt per impostazione predefinita). Le forme piene finiscono con *. mark options definisce lo stile dei soli marcatori, per esempio un marcatore vuoto con riempimento bianco.

Marcatori diversi per serie diverse

LaTeXPreambolo: \usepackage{pgfplots}Apri nell'editor (si apre in una nuova scheda)
\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}

Le forme che funzionano sono elencate nella pagina sui grafici a linee.

Punti da una tabella

Per più di una manciata di punti, scrivili come tabella. La prima riga dà i nomi alle colonne; x= e y= scelgono le colonne da tracciare. La tabella può stare nel codice, come qui, oppure in un file (vedi dati da un file CSV).

Punti letti da una tabella nel codice

LaTeXPreambolo: \usepackage{pgfplots}Apri nell'editor (si apre in una nuova scheda)
\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 linea rossa è una formula disegnata sopra i punti, un modo semplice per mostrare una tendenza interpolata.

Colorare i punti in base a un valore

Con scatter, ogni punto viene colorato dalla mappa di colori in base a un valore. point meta=y usa il valore y; scatter src=explicit con meta= legge una terza colonna. Aggiungi colorbar per mostrare la scala.

Punti colorati in base a una terza colonna

LaTeXPreambolo: \usepackage{pgfplots}Apri nell'editor (si apre in una nuova scheda)
\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}

Classi di punti

In pgfplots, scatter/classes dà a ogni nome di classe in una colonna il proprio marcatore. Scissor LaTeX non lo supporta ancora: l’opzione viene ignorata con un messaggio, e tutti i punti ricevono lo stesso marcatore.

scatter/classes: un solo marcatore per tutti i punti

LaTeXPreambolo: \usepackage{pgfplots}Apri nell'editor (si apre in una nuova scheda)
\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}

Scheda Problemi: pgfplots option 'scatter/classes' is not supported yet

Cosa cambia rispetto a un’installazione TeX

Tutti i dettagli sui marcatori e sulle opzioni di scatter sono nel manuale di pgfplots: ctan.org/pkg/pgfplots.

Domande e risposte

Come si crea un grafico a dispersione senza linee?

Aggiungi only marks alle opzioni dell’\addplot, per esempio \addplot+[only marks] coordinates {...};.

Come si cambia la dimensione dei punti?

Usa mark size=3pt sull’\addplot. Il valore è il raggio del marcatore.

Posso tracciare punti da un file CSV?

Sì. Carica il file nel progetto e scrivi \addplot+[only marks] table[x=a, y=b, col sep=comma] {file.csv};.

Ogni esempio di questa pagina viene composto da Scissor LaTeX quando il sito viene generato. Ultimo aggiornamento: 2026-11-07.