Zum Inhalt springen

Konturen, Heatmaps und Farbskalen

Verwenden Sie \addplot3 in einer Achse mit view={0}{90}: surf oder matrix plot für eine Heatmap, contour filled für gefüllte Konturen, und fügen Sie für die Skala colorbar und eine colormap hinzu.

Eine Heatmap einer Funktion

\addplot3 plottet eine Funktion von x und y. Von oben betrachtet (view={0}{90}) wird ein surf-Plot zur Heatmap: Jede Zelle wird über die Farbskala nach ihrem Wert gefärbt. shader=interp lässt die Farben weich ineinander übergehen; shader=flat gibt jeder Zelle eine Farbe.

Eine weiche Heatmap mit Farbbalken

LaTeXPräambel: \usepackage{pgfplots}Im Editor öffnen (öffnet in einem neuen Tab)
\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}
Gesetzt von Scissor LaTeX: Eine weiche Heatmap mit Farbbalken

domain legt den Bereich von x fest, y domain den Bereich von y und samples die Rastergröße (standardmäßig 25, samples y für eine andere Anzahl in y).

Gefüllte Konturen

contour filled teilt die Werte in Bänder. number= legt fest, wie viele Konturstufen es gibt; mit levels={...} zählen Sie sie selbst auf.

Gefüllte Konturen einer Funktion mit zwei Gipfeln

LaTeXPräambel: \usepackage{pgfplots}Im Editor öffnen (öffnet in einem neuen Tab)
\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}
Gesetzt von Scissor LaTeX: Gefüllte Konturen einer Funktion mit zwei Gipfeln

Heatmap aus einer Tabelle: matrix plot

Für Messdaten auf einem Raster zeichnet matrix plot* eine Zelle pro Tabellenzeile. mesh/cols gibt an, wie viele Spalten das Raster hat, und point meta=explicit mit meta= benennt die Wertespalte.

Ein 3-mal-3-Raster von Werten

LaTeXPräambel: \usepackage{pgfplots}Im Editor öffnen (öffnet in einem neuen Tab)
\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}

Höhenlinien

Linien ohne Füllung brauchen Konturstufen, die für Sie berechnet werden. In pgfplots ist das contour gnuplot oder contour lua, die in einer TeX-Installation zusätzliche Programme oder LuaLaTeX brauchen. Scissor LaTeX berechnet die Linien selbst, zeichnet sie und erinnert Sie im Tab „Probleme“ daran, dass sich der Code anderswo vielleicht nicht übersetzen lässt.

Höhenlinien mit contour gnuplot

LaTeXPräambel: \usepackage{pgfplots}Im Editor öffnen (öffnet in einem neuen Tab)
\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}

Tab „Probleme“: contour gnuplot needs gnuplot and shell escape in LaTeX; contour filled or contour prepared compile everywhere

Für eine Datei, die sich überall übersetzen lässt, verwenden Sie contour filled oder contour prepared mit vorberechneten Konturdaten.

Farbskalen und Farbbalken

OptionWas sie bewirktIn Scissor LaTeX
colormap/viridis, /hot, /cool, /jet, /blackwhite, /blueredeingebaute FarbskalenFunktioniert
colormap name=viridiseine Skala nach Namen wählenFunktioniert
colormap={name}{rgb255=(..) rgb255=(..)}Ihre eigene SkalaFunktioniert
colorbar, colorbar horizontaleine Skala neben oder unter dem PlotFunktioniert
colorbar style={..}Teilstriche und Beschriftungen des FarbbalkensFunktioniert
point meta min, point meta maxden Farbbereich festlegenFunktioniert
shader=flat, shader=interp, shader=facetedwie Zellen gefärbt werdenFunktioniert

Eine eigene Farbskala und ein waagerechter Farbbalken

LaTeXPräambel: \usepackage{pgfplots}Im Editor öffnen (öffnet in einem neuen Tab)
\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}
Gesetzt von Scissor LaTeX: Eine eigene Farbskala und ein waagerechter Farbbalken

3D-Ansichten

Scissor LaTeX zeichnet \addplot3 nur in der Ansicht senkrecht von oben. Jede andere view, auch die voreingestellte 3D-Ansicht, lässt die Achse leer und zeigt eine Meldung.

Eine 3D-Ansicht wird nicht gezeichnet

LaTeXPräambel: \usepackage{pgfplots}Im Editor öffnen (öffnet in einem neuen Tab)
\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}

Tab „Probleme“: 3D plots are drawn only when seen from above (view={0}{90}) for now

Was anders ist als in einer TeX-Installation

Das Handbuch von pgfplots behandelt \addplot3, Farbskalen und Konturen ausführlich: ctan.org/pkg/pgfplots.

Siehe auch Grundlagen von pgfplots, Logarithmische Achsen und pgfplots.

Fragen und Antworten

Wie erstelle ich eine Heatmap in LaTeX?

Verwenden Sie \addplot3[surf, shader=interp] {f(x,y)}; (oder matrix plot* für Tabellendaten) in einer Achse mit view={0}{90} und fügen Sie colorbar hinzu.

Zeichnet Scissor LaTeX 3D-Flächenplots?

Noch nicht. \addplot3 wird nur in der Ansicht von oben (view={0}{90}) gezeichnet; andere Ansichten lassen die Achse leer, und der Tab „Probleme“ sagt das.

Warum zeigt contour gnuplot eine Warnung?

In einer TeX-Installation braucht es gnuplot und Shell-Escape. Scissor LaTeX zeichnet die Konturen trotzdem, warnt aber, dass sich der Code anderswo vielleicht nicht übersetzen lässt. contour filled lässt sich überall übersetzen.

Jedes Beispiel auf dieser Seite wird beim Erstellen der Website von Scissor LaTeX gesetzt. Zuletzt aktualisiert am 2026-11-07.