Vai al contenuto

Grafici a linee con pgfplots

Aggiungi un \addplot per ogni linea dentro un axis; dai a ciascuna uno stile con opzioni come red, dashed, thick o mark=square*, oppure lascia che sia la cycle list a scegliere lo stile.

Più linee in un solo axis

Ogni \addplot aggiunge una serie. Senza opzioni, le serie prendono a turno lo stile dalla cycle list. Con \addplot+[...] mantieni quello stile e ne cambi una parte.

Tre serie dalla cycle list predefinita

LaTeXPreambolo: \usepackage{pgfplots}Apri nell'editor (si apre in una nuova scheda)
\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}
Composto da Scissor LaTeX: Tre serie dalla cycle list predefinita

Stili di linea e marcatori

Le opzioni dopo \addplot impostano il colore, la linea e i marcatori. Puoi combinarle liberamente.

OpzioneValoriIn Scissor LaTeX
colorered, blue!60!black, color=teal, qualsiasi nome o miscela di xcolorFunziona
spessore della lineaultra thin, very thin, thin, semithick, thick, very thick, ultra thick, line width=1.5ptFunziona
tratteggiosolid, dashed, dotted, densely dashed, loosely dotted, dashdotted, dash pattern=on 4pt off 2ptFunziona
mark=*, o, square*, square, triangle*, triangle, diamond*, diamond, x, +, star, pentagon*, asterisk, otimes*, |, -, noneFunziona
mark size=3ptraggio del marcatoreFunziona
mark options={fill=white}stile dei soli marcatoriFunziona
mark repeat=2un marcatore ogni due puntiFunziona
no marks, only markssolo linee, solo marcatoriFunziona

Colori, tratteggi e marcatori

LaTeXPreambolo: \usepackage{pgfplots}Apri nell'editor (si apre in una nuova scheda)
\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}
Composto da Scissor LaTeX: Colori, tratteggi e marcatori

I marcatori vengono sempre disegnati con linee continue, anche su una serie tratteggiata, come in pgfplots.

Scegliere una cycle list

Una cycle list è la sequenza di stili che usano i semplici comandi \addplot. Scegline una predefinita con cycle list name, oppure scrivi la tua con cycle list.

La cycle list black white e una personalizzata

LaTeXPreambolo: \usepackage{pgfplots}Apri nell'editor (si apre in una nuova scheda)
\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}
Composto da Scissor LaTeX: La cycle list black white e una personalizzata

I nomi predefiniti che funzionano sono: color (quello predefinito), exotic, black white, mark list e linestyles. \pgfplotscreateplotcyclelist{name}{...} nel preambolo definisce una lista che puoi riutilizzare.

Curve smussate e gradini

smooth traccia una curva che passa per i punti invece di segmenti rettilinei; tension (predefinito 0.55) controlla quanto è arrotondata. const plot disegna una funzione a gradini che mantiene ogni valore fino al punto successivo.

smooth e const plot

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

Funzioni in gradi e radianti

Le formule usano pgfmath: + - * / ^, parentesi, sqrt, exp, ln, abs, min, max, sin, cos, tan e altro, con pi ed e come costanti. Gli angoli sono in gradi, quindi converti i radianti con deg(x).

sin e cos su un periodo

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

Curve parametriche

Per tracciare una curva data da x(t) e y(t), scrivi entrambe le formule tra parentesi tonde, separate da una virgola, e imposta variable=t.

Una curva di Lissajous

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

Interruzioni in una curva

Una funzione come 1/x schizza verso l’infinito. restrict y to domain scarta i punti fuori da un intervallo, e unbounded coords=jump interrompe lì la linea invece di unire i due rami. Mettili entrambi sull’\addplot.

1/x con un’interruzione in zero

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

Cosa cambia rispetto a un’installazione TeX

Il manuale di pgfplots su CTAN descrive ogni opzione: ctan.org/pkg/pgfplots. Per punti senza linee, vedi grafici a dispersione.

Vedi anche Le basi di pgfplots, Assi logaritmici, Gruppi di grafici e Dati da CSV.

Domande e risposte

Come si traccia una funzione in LaTeX?

Scrivi \addplot[domain=a:b, samples=n] {formula}; dentro un axis, usando x come variabile, per esempio {x^2 - 1}.

Come si tolgono i marcatori da una linea?

Aggiungi no marks alle opzioni dell’\addplot, oppure dai opzioni senza + (per esempio \addplot[blue]), che disegna una linea semplice.

Perché sin(x) sembra quasi piatto?

pgfplots legge l’angolo in gradi, quindi sin(x) da 0 a 6 copre solo 6 gradi. Scrivi sin(deg(x)).

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