Контури, теплові карти й колірні карти
Використайте \addplot3 в осі з view={0}{90}: surf або matrix plot для теплової карти, contour filled для заповнених контурів, і додайте colorbar та colormap для шкали.
Теплова карта функції
\addplot3 будує функцію від x і y. Якщо дивитися згори (view={0}{90}), графік surf стає тепловою картою: кожна клітинка забарвлюється за своїм значенням через колірну карту. shader=interp плавно змішує кольори; shader=flat дає один колір на клітинку.
Плавна теплова карта з колірною шкалою
\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 задає діапазон x, y domain діапазон y, а samples розмір сітки (за замовчуванням 25, samples y для іншої кількості по y).
Заповнені контури
contour filled ділить значення на смуги. number= задає кількість рівнів контурів; levels={...} дозволяє перелічити їх самостійно.
Заповнені контури функції з двома піками
\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}Теплова карта з таблиці: matrix plot
Для виміряних даних на сітці matrix plot* малює по одній клітинці на кожен рядок таблиці. mesh/cols вказує, скільки стовпців має сітка, а point meta=explicit разом із meta= називає стовпець значень.
Сітка значень 3 на 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}Лінії рівня
Для ліній без заповнення рівні контурів потрібно обчислити за вас. У pgfplots для цього є contour gnuplot або contour lua, які в установленому TeX потребують додаткових програм або LuaLaTeX. Scissor LaTeX сам обчислює лінії й малює їх, а на вкладці «Проблеми» нагадує, що код може не скомпілюватися деінде.
Лінії рівня з 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}Вкладка «Проблеми»: contour gnuplot needs gnuplot and shell escape in LaTeX; contour filled or contour prepared compile everywhere
Для файлу, який компілюється всюди, використовуйте contour filled або contour prepared із заздалегідь обчисленими даними контурів.
Колірні карти й колірні шкали
| Параметр | Що робить | У Scissor LaTeX |
|---|---|---|
colormap/viridis, /hot, /cool, /jet, /blackwhite, /bluered | вбудовані колірні карти | Працює |
colormap name=viridis | вибір карти за назвою | Працює |
colormap={name}{rgb255=(..) rgb255=(..)} | власна карта | Працює |
colorbar, colorbar horizontal | шкала поруч із графіком або під ним | Працює |
colorbar style={..} | поділки й підписи колірної шкали | Працює |
point meta min, point meta max | фіксують діапазон кольорів | Працює |
shader=flat, shader=interp, shader=faceted | як забарвлюються клітинки | Працює |
Власна колірна карта й горизонтальна колірна шкала
\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-види
Scissor LaTeX малює \addplot3 лише з виглядом прямо згори. Будь-який інший view, зокрема стандартний 3D-вид, залишає вісь порожньою й показує повідомлення.
3D-вид не малюється
\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}Вкладка «Проблеми»: 3D plots are drawn only when seen from above (view={0}{90}) for now
Чим це відрізняється від установленого TeX
Посібник pgfplots докладно описує \addplot3, колірні карти й контури: ctan.org/pkg/pgfplots.
Див. також основи pgfplots, логарифмічні осі і pgfplots.
Запитання й відповіді
Як створити теплову карту в LaTeX?
Використайте \addplot3[surf, shader=interp] {f(x,y)}; (або matrix plot* для даних із таблиці) в осі з view={0}{90} і додайте colorbar.
Чи малює Scissor LaTeX тривимірні поверхні?
Поки ні. \addplot3 малюється лише з виглядом згори (view={0}{90}); інші види залишають вісь порожньою, і вкладка «Проблеми» про це повідомляє.
Чому contour gnuplot показує попередження?
В установленому TeX йому потрібні gnuplot і shell escape. Scissor LaTeX усе одно малює контури, але попереджає, що код може не скомпілюватися деінде. contour filled компілюється всюди.
Кожен приклад на цій сторінці верстається в Scissor LaTeX під час збирання сайту. Оновлено 2026-11-07.