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
\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}Stili di linea e marcatori
Le opzioni dopo \addplot impostano il colore, la linea e i marcatori. Puoi combinarle liberamente.
| Opzione | Valori | In Scissor LaTeX |
|---|---|---|
| colore | red, blue!60!black, color=teal, qualsiasi nome o miscela di xcolor | Funziona |
| spessore della linea | ultra thin, very thin, thin, semithick, thick, very thick, ultra thick, line width=1.5pt | Funziona |
| tratteggio | solid, dashed, dotted, densely dashed, loosely dotted, dashdotted, dash pattern=on 4pt off 2pt | Funziona |
mark= | *, o, square*, square, triangle*, triangle, diamond*, diamond, x, +, star, pentagon*, asterisk, otimes*, |, -, none | Funziona |
mark size=3pt | raggio del marcatore | Funziona |
mark options={fill=white} | stile dei soli marcatori | Funziona |
mark repeat=2 | un marcatore ogni due punti | Funziona |
no marks, only marks | solo linee, solo marcatori | Funziona |
Colori, tratteggi e marcatori
\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}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
\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}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
\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
\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
\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
\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.