Kontury, mapy ciepła i mapy kolorów
Użyj \addplot3 w osi z view={0}{90}: surf lub matrix plot dla mapy ciepła, contour filled dla wypełnionych konturów, a dla skali dodaj colorbar i colormap.
Mapa ciepła funkcji
\addplot3 rysuje funkcję x i y. Widziany z góry (view={0}{90}) wykres surf staje się mapą ciepła: każda komórka jest kolorowana według swojej wartości przez mapę kolorów. shader=interp płynnie miesza kolory; shader=flat daje jeden kolor na komórkę.
Gładka mapa ciepła z paskiem kolorów
\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 ustawia zakres x, y domain zakres y, a samples rozmiar siatki (domyślnie 25, samples y dla innej liczby w kierunku y).
Wypełnione kontury
contour filled dzieli wartości na pasma. number= ustawia liczbę poziomów konturów; levels={...} pozwala wymienić je samodzielnie.
Wypełnione kontury funkcji z dwoma szczytami
\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 ciepła z tabeli: matrix plot
Dla danych pomiarowych na siatce matrix plot* rysuje jedną komórkę na każdy wiersz tabeli. mesh/cols mówi, ile kolumn ma siatka, a point meta=explicit z meta= wskazuje kolumnę wartości.
Siatka wartości 3 na 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}Poziomice
Linie bez wypełnienia wymagają obliczenia poziomów konturów. W pgfplots służą do tego contour gnuplot lub contour lua, które w instalacji TeX potrzebują dodatkowych programów lub LuaLaTeX. Scissor LaTeX sam oblicza linie i je rysuje, a w karcie Problemy przypomina, że kod może nie kompilować się gdzie indziej.
Poziomice z 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}Karta Problemy: contour gnuplot needs gnuplot and shell escape in LaTeX; contour filled or contour prepared compile everywhere
Dla pliku, który kompiluje się wszędzie, użyj contour filled albo contour prepared z wcześniej obliczonymi danymi konturów.
Mapy kolorów i paski kolorów
| Opcja | Co robi | W Scissor LaTeX |
|---|---|---|
colormap/viridis, /hot, /cool, /jet, /blackwhite, /bluered | wbudowane mapy kolorów | Działa |
colormap name=viridis | wybór mapy po nazwie | Działa |
colormap={name}{rgb255=(..) rgb255=(..)} | własna mapa | Działa |
colorbar, colorbar horizontal | skala obok wykresu lub pod nim | Działa |
colorbar style={..} | kreski i etykiety paska kolorów | Działa |
point meta min, point meta max | ustala zakres kolorów | Działa |
shader=flat, shader=interp, shader=faceted | sposób kolorowania komórek | Działa |
Własna mapa kolorów i poziomy pasek kolorów
\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}Widoki 3D
Scissor LaTeX rysuje \addplot3 tylko w widoku prosto z góry. Każdy inny view, w tym domyślny widok 3D, pozostawia oś pustą i wyświetla komunikat.
Widok 3D nie jest rysowany
\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}Karta Problemy: 3D plots are drawn only when seen from above (view={0}{90}) for now
Czym różni się od instalacji TeX
Dokumentacja pgfplots szczegółowo opisuje \addplot3, mapy kolorów i kontury: ctan.org/pkg/pgfplots.
Zobacz też podstawy pgfplots, Osie logarytmiczne i pgfplots.
Pytania i odpowiedzi
Jak zrobić mapę ciepła w LaTeX?
Użyj \addplot3[surf, shader=interp] {f(x,y)}; (lub matrix plot* dla danych z tabeli) w osi z view={0}{90} i dodaj colorbar.
Czy Scissor LaTeX rysuje wykresy powierzchni 3D?
Jeszcze nie. \addplot3 jest rysowany tylko w widoku z góry (view={0}{90}); inne widoki pozostawiają oś pustą, a karta Problemy o tym informuje.
Dlaczego contour gnuplot pokazuje ostrzeżenie?
W instalacji TeX wymaga on gnuplot i shell escape. Scissor LaTeX i tak rysuje kontury, ale ostrzega, że kod może nie kompilować się gdzie indziej. contour filled kompiluje się wszędzie.
Każdy przykład na tej stronie jest składany przez Scissor LaTeX podczas budowania witryny. Ostatnia aktualizacja: 2026-11-07.