Contouren, heatmaps en kleurenkaarten
Gebruik \addplot3 in een as met view={0}{90}: surf of matrix plot voor een heatmap, contour filled voor gevulde contouren, en voeg colorbar en een colormap toe voor de schaal.
Een heatmap van een functie
\addplot3 plot een functie van x en y. Van bovenaf bekeken (view={0}{90}) wordt een surf-grafiek een heatmap: elke cel krijgt via de kleurenkaart een kleur naar zijn waarde. shader=interp laat de kleuren vloeiend in elkaar overlopen; shader=flat geeft één kleur per cel.
Een vloeiende heatmap met een kleurenbalk
\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 bepaalt het bereik van x, y domain het bereik van y, en samples de grootte van het raster (standaard 25, samples y voor een ander aantal in y).
Gevulde contouren
contour filled verdeelt de waarden in banden. number= bepaalt hoeveel contourniveaus er zijn; met levels={...} noem je ze zelf.
Gevulde contouren van een functie met twee pieken
\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}Heatmap uit een tabel: matrix plot
Voor gemeten data op een raster tekent matrix plot* één cel per rij van een tabel. mesh/cols zegt hoeveel kolommen het raster heeft, en point meta=explicit met meta= noemt de kolom met waarden.
Een raster van 3 bij 3 waarden
\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}Contourlijnen
Voor lijnen zonder vulling moeten de contourniveaus voor je berekend worden. In pgfplots is dat contour gnuplot of contour lua, die in een TeX-installatie extra programma's of LuaLaTeX nodig hebben. Scissor LaTeX berekent de lijnen zelf en tekent ze, en herinnert je er in het tabblad Problemen aan dat de code elders misschien niet compileert.
Contourlijnen met 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}Tabblad Problemen: contour gnuplot needs gnuplot and shell escape in LaTeX; contour filled or contour prepared compile everywhere
Gebruik voor een bestand dat overal compileert contour filled, of contour prepared met vooraf berekende contourdata.
Kleurenkaarten en kleurenbalken
| Optie | Wat het doet | In Scissor LaTeX |
|---|---|---|
colormap/viridis, /hot, /cool, /jet, /blackwhite, /bluered | ingebouwde kleurenkaarten | Werkt |
colormap name=viridis | een kaart op naam kiezen | Werkt |
colormap={name}{rgb255=(..) rgb255=(..)} | je eigen kaart | Werkt |
colorbar, colorbar horizontal | een schaal naast of onder de grafiek | Werkt |
colorbar style={..} | maatstreepjes en labels van de kleurenbalk | Werkt |
point meta min, point meta max | het kleurbereik vastleggen | Werkt |
shader=flat, shader=interp, shader=faceted | hoe cellen gekleurd worden | Werkt |
Een eigen kleurenkaart en een horizontale kleurenbalk
\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}3D-weergaven
Scissor LaTeX tekent \addplot3 alleen recht van bovenaf gezien. Elke andere view, ook de standaard 3D-weergave, laat de as leeg en toont een melding.
Een 3D-weergave wordt niet getekend
\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}Tabblad Problemen: 3D plots are drawn only when seen from above (view={0}{90}) for now
Wat anders is dan in een TeX-installatie
De handleiding van pgfplots behandelt \addplot3, kleurenkaarten en contouren uitgebreid: ctan.org/pkg/pgfplots.
Zie ook de basis van pgfplots, Logaritmische assen en pgfplots.
Vragen en antwoorden
Hoe maak ik een heatmap in LaTeX?
Gebruik \addplot3[surf, shader=interp] {f(x,y)}; (of matrix plot* voor tabeldata) in een as met view={0}{90}, en voeg colorbar toe.
Tekent Scissor LaTeX 3D-oppervlaktegrafieken?
Nog niet. \addplot3 wordt alleen getekend als hij van bovenaf wordt bekeken (view={0}{90}); andere weergaven laten de as leeg en het tabblad Problemen meldt dat.
Waarom geeft contour gnuplot een waarschuwing?
In een TeX-installatie heeft het gnuplot en shell escape nodig. Scissor LaTeX tekent de contouren toch, maar waarschuwt dat de code elders misschien niet compileert. contour filled compileert overal.
Elk voorbeeld op deze pagina wordt door Scissor LaTeX gezet wanneer de site wordt gebouwd. Laatst bijgewerkt op 2026-11-07.