Contornos, mapas de calor e mapas de cores
Use \addplot3 num axis com view={0}{90}: surf ou matrix plot para um mapa de calor, contour filled para contornos preenchidos, e acrescente colorbar e um colormap para a escala.
Um mapa de calor de uma função
\addplot3 plota uma função de x e y. Visto de cima (view={0}{90}), um gráfico surf vira um mapa de calor: cada célula é colorida pelo seu valor por meio do mapa de cores. shader=interp mistura as cores suavemente; shader=flat dá uma cor por célula.
Um mapa de calor suave com barra de cores
\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}domain define o intervalo de x, y domain, o intervalo de y, e samples, o tamanho da grade (25 por padrão; samples y para uma contagem diferente em y).
Contornos preenchidos
contour filled divide os valores em faixas. number= define quantos níveis de contorno existem; levels={...} permite listá-los você mesmo.
Contornos preenchidos de uma função com dois picos
\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}Mapa de calor a partir de uma tabela: matrix plot
Para dados medidos numa grade, matrix plot* desenha uma célula por linha da tabela. mesh/cols diz quantas colunas a grade tem, e point meta=explicit com meta= indica a coluna de valores.
Uma grade de valores 3 por 3
\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}Linhas de contorno
Linhas sem preenchimento exigem que os níveis de contorno sejam calculados para você. No pgfplots, isso é contour gnuplot ou contour lua, que precisam de programas extras ou do LuaLaTeX numa instalação do TeX. O Scissor LaTeX calcula as linhas sozinho e as desenha, e avisa na aba Problemas que o código pode não compilar em outros lugares.
Linhas de contorno com contour gnuplot
\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}Aba Problemas: contour gnuplot needs gnuplot and shell escape in LaTeX; contour filled or contour prepared compile everywhere
Para um arquivo que compile em qualquer lugar, use contour filled, ou contour prepared com dados de contorno pré-calculados.
Mapas de cores e barras de cores
| Opção | O que faz | No Scissor LaTeX |
|---|---|---|
colormap/viridis, /hot, /cool, /jet, /blackwhite, /bluered | mapas de cores prontos | Funciona |
colormap name=viridis | escolhe um mapa pelo nome | Funciona |
colormap={name}{rgb255=(..) rgb255=(..)} | o seu próprio mapa | Funciona |
colorbar, colorbar horizontal | uma escala ao lado ou embaixo do gráfico | Funciona |
colorbar style={..} | marcações e rótulos da barra de cores | Funciona |
point meta min, point meta max | fixam o intervalo de cores | Funciona |
shader=flat, shader=interp, shader=faceted | como as células são coloridas | Funciona |
Um mapa de cores personalizado e uma barra de cores horizontal
\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}Vistas 3D
O Scissor LaTeX desenha \addplot3 apenas visto diretamente de cima. Qualquer outra view, inclusive a vista 3D padrão, deixa os eixos vazios e mostra uma mensagem.
Uma vista 3D não é desenhada
\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}Aba Problemas: 3D plots are drawn only when seen from above (view={0}{90}) for now
O que muda em relação a uma instalação do TeX
O manual do pgfplots trata de \addplot3, mapas de cores e contornos em detalhe: ctan.org/pkg/pgfplots.
Veja também Noções básicas de pgfplots, Eixos logarítmicos e pgfplots.
Perguntas e respostas
Como faço um mapa de calor em LaTeX?
Use \addplot3[surf, shader=interp] {f(x,y)}; (ou matrix plot* para dados de tabela) num axis com view={0}{90}, e acrescente colorbar.
O Scissor LaTeX desenha gráficos de superfície 3D?
Ainda não. \addplot3 só é desenhado visto de cima (view={0}{90}); outras vistas deixam os eixos vazios, e a aba Problemas avisa.
Por que o contour gnuplot mostra um aviso?
Numa instalação do TeX ele precisa do gnuplot e de shell escape. O Scissor LaTeX desenha os contornos mesmo assim, mas avisa que o código pode não compilar em outros lugares. contour filled compila em qualquer lugar.
Cada exemplo desta página é composto pelo Scissor LaTeX quando o site é gerado. Última atualização: 2026-11-07.