Основи pgfplots: графіки в LaTeX із прикладами
Завантажте pgfplots, відкрийте tikzpicture з axis усередині й додайте кожен ряд даних командою \addplot, як список координат або як формулу.
Найменший графік
Кожен графік pgfplots має ті самі три шари: tikzpicture, axis усередині нього і по одному \addplot на кожен ряд даних. Завантажте пакет командою \usepackage{pgfplots} у преамбулі.
Чотири точки, з’єднані лінією
\begin{tikzpicture}
\begin{axis}
\addplot coordinates {(0,1) (1,3) (2,2) (3,4)};
\end{axis}
\end{tikzpicture}Вісь сама вибирає діапазон і поділки за даними. Простий \addplot бере колір і маркер зі стандартного циклічного списку: синій із круглими маркерами для першого ряду, червоний із квадратами для другого і так далі.
Графік формули
Замість координат дайте \addplot формулу у фігурних дужках. domain задає діапазон x, а samples кількість точок. Без них pgfplots використовує діапазон від -5 до 5 і 25 точок.
Функція з domain і samples
\begin{tikzpicture}
\begin{axis}
\addplot[blue, thick, domain=-2:2, samples=60] {x^3 - 2*x};
\end{axis}
\end{tikzpicture}Параметри у квадратних дужках після \addplot задають стиль цього ряду. Якщо ви даєте параметри без +, ряд малюється чорним (або названим вами кольором) без маркерів; \addplot+[...] зберігає стиль із циклічного списку й додає до нього ваші параметри.
Підписи, заголовок, легенда й сітка
Ці параметри задаються для axis, тож вони впливають на весь графік.
Підписи осей, заголовок, легенда й сітка
\begin{tikzpicture}
\begin{axis}[
title={Cooling of a cup of tea},
xlabel={Time (min)},
ylabel={Temperature ($^\circ$C)},
grid=major,
legend pos=north east,
]
\addplot coordinates {(0,80) (5,64) (10,53) (15,44) (20,38)};
\addlegendentry{Measured}
\addplot[red, domain=0:20, samples=40] {22 + 58*exp(-0.08*x)};
\addlegendentry{Model}
\end{axis}
\end{tikzpicture}Підписи є текстом, тож математика йде між $ ... $, як в абзаці. \addlegendentry після кожного \addplot дає назву цьому ряду; можна також перелічити всі назви в кінці командою \legend{Measured, Model}.
Поширені параметри осі
| Параметр | Що робить | У Scissor LaTeX |
|---|---|---|
xlabel, ylabel, title | текст уздовж осей і над графіком | Працює |
xmin, xmax, ymin, ymax | фіксують видимий діапазон | Працює |
width, height | розмір усього рисунка, наприклад width=\linewidth | Працює |
grid=major, grid=both | лінії сітки на основних (і допоміжних) поділках | Працює |
xtick={0,1,2}, xticklabels={a,b,c} | вибір поділок і їхніх підписів | Працює |
legend pos=north west | north west, north east, south west, south east, outer north east | Працює |
axis lines=left | пара осей у формі літери L зі стрілками замість рамки | Працює (також middle, center, none) |
enlargelimits=false | без додаткового простору навколо даних | Працює |
axis equal | однаковий масштаб на обох осях | Поки не підтримується: ігнорується з повідомленням на вкладці «Проблеми» |
Більшість інших параметрів з посібника pgfplots теж працюють; сторінка лінійних графіків перелічує стилі й маркери. Параметр, якого рендерер не знає, ігнорується, а вкладка «Проблеми» називає його.
Розмір і розміщення
За замовчуванням графік має розмір близько 240 на 207 пунктів, як у pgfplots. Щоб змінити його, задайте для осі width і height. Щоб дати графіку підпис і номер, помістіть tikzpicture у figure, як зображення.
Графік у figure з підписом
\begin{figure}[h]
\centering
\begin{tikzpicture}
\begin{axis}[width=7cm, height=4.5cm, xlabel=$x$, ylabel=$x^2$]
\addplot[domain=0:2, samples=30] {x^2};
\end{axis}
\end{tikzpicture}
\caption{A parabola on $[0, 2]$.}
\label{fig:parabola}
\end{figure}
Figure~\ref{fig:parabola} shows the parabola.\resizebox{0.5\linewidth}{!}{...} навколо одного tikzpicture теж працює: рисунок масштабується до цієї ширини.
Чим це відрізняється від установленого TeX
Усе на цій сторінці також компілюється в установленому TeX із pgfplots. Повний посібник є на CTAN: ctan.org/pkg/pgfplots.
Запитання й відповіді
Чи потрібно встановлювати pgfplots?
Ні. Пишіть \usepackage{pgfplots} як зазвичай. Scissor LaTeX розпізнає пакет і сам малює графіки в браузері.
Чому графік моєї функції ламаний?
За замовчуванням pgfplots з’єднує 25 точок. Додайте samples=100 (або більше) до \addplot чи до осі для плавнішої кривої або додайте smooth, щоб провести криву через точки.
Чи можна використовувати pgfplots без tikzpicture?
Ні, у LaTeX середовище axis завжди знаходиться всередині tikzpicture. Scissor LaTeX дотримується того самого правила, тож ваш код компілюється й деінде.
Кожен приклад на цій сторінці верстається в Scissor LaTeX під час збирання сайту. Оновлено 2026-11-07.