Vai al contenuto

Contorni, mappe di calore e mappe di colori

Usa \addplot3 in un axis con view={0}{90}: surf o matrix plot per una mappa di calore, contour filled per contorni pieni, e aggiungi colorbar e una colormap per la scala.

Una mappa di calore di una funzione

\addplot3 traccia una funzione di x e y. Visto dall’alto (view={0}{90}), un grafico surf diventa una mappa di calore: ogni cella viene colorata in base al suo valore tramite la mappa di colori. shader=interp sfuma i colori in modo continuo; shader=flat dà un colore per cella.

Una mappa di calore sfumata con barra dei colori

LaTeXPreambolo: \usepackage{pgfplots}Apri nell'editor (si apre in una nuova scheda)
\begin{tikzpicture}
  \begin{axis}[view={0}{90}, colorbar, colormap/viridis,
               xlabel=$x$, ylabel=$y$, enlargelimits=false]
    \addplot3[surf, shader=interp, domain=-2:2, y domain=-2:2, samples=30]
      {exp(-x^2 - y^2) * (1 + x)};
  \end{axis}
\end{tikzpicture}
Composto da Scissor LaTeX: Una mappa di calore sfumata con barra dei colori

domain imposta l’intervallo di x, y domain l’intervallo di y, e samples la dimensione della griglia (25 per impostazione predefinita, samples y per un numero diverso in y).

Contorni pieni

contour filled divide i valori in bande. number= imposta quanti livelli di contorno ci sono; levels={...} permette di elencarli tu.

Contorni pieni di una funzione a due picchi

LaTeXPreambolo: \usepackage{pgfplots}Apri nell'editor (si apre in una nuova scheda)
\begin{tikzpicture}
  \begin{axis}[view={0}{90}, colorbar, colormap/hot, enlargelimits=false]
    \addplot3[contour filled={number=8}, domain=-3:3, y domain=-3:3, samples=40]
      {exp(-(x-1)^2 - y^2) + 0.7*exp(-(x+1.2)^2 - (y-1)^2)};
  \end{axis}
\end{tikzpicture}
Composto da Scissor LaTeX: Contorni pieni di una funzione a due picchi

Mappa di calore da una tabella: matrix plot

Per dati misurati su una griglia, matrix plot* disegna una cella per ogni riga di una tabella. mesh/cols indica quante colonne ha la griglia, e point meta=explicit con meta= indica la colonna dei valori.

Una griglia di valori 3 per 3

LaTeXPreambolo: \usepackage{pgfplots}Apri nell'editor (si apre in una nuova scheda)
\begin{tikzpicture}
  \begin{axis}[colorbar, colormap/bluered, enlargelimits=false,
               xtick=data, ytick=data, width=6.5cm, height=6cm]
    \addplot[matrix plot*, mesh/cols=3, point meta=explicit]
      table[meta=v] {
        x y v
        0 0 1
        1 0 4
        2 0 2
        0 1 3
        1 1 9
        2 1 5
        0 2 2
        1 2 6
        2 2 44
      };
  \end{axis}
\end{tikzpicture}

Linee di livello

Le linee senza riempimento richiedono livelli di contorno calcolati per te. In pgfplots si usano contour gnuplot o contour lua, che in un’installazione TeX richiedono programmi aggiuntivi o LuaLaTeX. Scissor LaTeX calcola da sé le linee e le disegna, e ti ricorda nella scheda Problemi che il codice potrebbe non compilare altrove.

Linee di livello con contour gnuplot

LaTeXPreambolo: \usepackage{pgfplots}Apri nell'editor (si apre in una nuova scheda)
\begin{tikzpicture}
  \begin{axis}[view={0}{90}, xlabel=$x$, ylabel=$y$]
    \addplot3[contour gnuplot={levels={0.2, 0.5, 0.8}},
              domain=-2:2, y domain=-2:2, samples=30]
      {exp(-x^2 - y^2)};
  \end{axis}
\end{tikzpicture}

Scheda Problemi: contour gnuplot needs gnuplot and shell escape in LaTeX; contour filled or contour prepared compile everywhere

Per un file che compili ovunque, usa contour filled, oppure contour prepared con dati di contorno precalcolati.

Mappe di colori e barre dei colori

OpzioneCosa faIn Scissor LaTeX
colormap/viridis, /hot, /cool, /jet, /blackwhite, /blueredmappe di colori predefiniteFunziona
colormap name=viridissceglie una mappa per nomeFunziona
colormap={name}{rgb255=(..) rgb255=(..)}una mappa tuaFunziona
colorbar, colorbar horizontaluna scala accanto o sotto il graficoFunziona
colorbar style={..}tacche ed etichette della barra dei coloriFunziona
point meta min, point meta maxfissano l’intervallo dei coloriFunziona
shader=flat, shader=interp, shader=facetedcome vengono colorate le celleFunziona

Una mappa di colori personalizzata e una barra dei colori orizzontale

LaTeXPreambolo: \usepackage{pgfplots}Apri nell'editor (si apre in una nuova scheda)
\begin{tikzpicture}
  \begin{axis}[view={0}{90}, enlargelimits=false,
               colormap={sea}{rgb255=(255,255,255) rgb255=(120,180,220) rgb255=(10,40,100)},
               colorbar horizontal, width=7cm, height=6cm]
    \addplot3[surf, shader=flat, domain=0:2, y domain=0:2, samples=12] {x*y};
  \end{axis}
\end{tikzpicture}
Composto da Scissor LaTeX: Una mappa di colori personalizzata e una barra dei colori orizzontale

Viste 3D

Scissor LaTeX disegna \addplot3 solo visto perpendicolarmente dall’alto. Qualsiasi altra view, compresa la vista 3D predefinita, lascia l’axis vuoto e mostra un messaggio.

Una vista 3D non viene disegnata

LaTeXPreambolo: \usepackage{pgfplots}Apri nell'editor (si apre in una nuova scheda)
\begin{tikzpicture}
  \begin{axis}[width=6cm, height=5cm]
    \addplot3[surf, domain=-2:2, y domain=-2:2] {x^2 - y^2};
  \end{axis}
\end{tikzpicture}

Scheda Problemi: 3D plots are drawn only when seen from above (view={0}{90}) for now

Cosa cambia rispetto a un’installazione TeX

Il manuale di pgfplots tratta in dettaglio \addplot3, le mappe di colori e i contorni: ctan.org/pkg/pgfplots.

Vedi anche Le basi di pgfplots, Assi logaritmici e pgfplots.

Domande e risposte

Come si crea una mappa di calore in LaTeX?

Usa \addplot3[surf, shader=interp] {f(x,y)}; (oppure matrix plot* per i dati in tabella) in un axis con view={0}{90}, e aggiungi colorbar.

Scissor LaTeX disegna grafici di superfici 3D?

Non ancora. \addplot3 viene disegnato solo visto dall’alto (view={0}{90}); le altre viste lasciano l’axis vuoto e la scheda Problemi lo segnala.

Perché contour gnuplot mostra un avviso?

In un’installazione TeX richiede gnuplot e shell escape. Scissor LaTeX disegna comunque i contorni, ma avvisa che il codice potrebbe non compilare altrove. contour filled compila ovunque.

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