Лінійні графіки з pgfplots
Додайте по одному \addplot на кожну лінію всередині axis; задайте стиль параметрами на кшталт red, dashed, thick чи mark=square* або дозвольте циклічному списку вибрати стиль за вас.
Кілька ліній на одній осі
Кожен \addplot додає ряд. Без параметрів ряди по черзі беруть стиль із циклічного списку. З \addplot+[...] ви зберігаєте цей стиль і змінюєте одну його частину.
Три ряди зі стандартного циклічного списку
\begin{tikzpicture}
\begin{axis}[xlabel=Week, ylabel=Orders, legend pos=north west]
\addplot coordinates {(1,12) (2,18) (3,25) (4,31) (5,44)};
\addplot coordinates {(1,10) (2,14) (3,15) (4,21) (5,24)};
\addplot+[dashed] coordinates {(1,5) (2,9) (3,8) (4,12) (5,13)};
\legend{Erika, Hans, John}
\end{axis}
\end{tikzpicture}Стилі ліній і маркери
Параметри після \addplot задають колір, лінію й маркери. Їх можна вільно поєднувати.
| Параметр | Значення | У Scissor LaTeX |
|---|---|---|
| колір | red, blue!60!black, color=teal, будь-яка назва чи суміш xcolor | Працює |
| товщина лінії | ultra thin, very thin, thin, semithick, thick, very thick, ultra thick, line width=1.5pt | Працює |
| тип штриха | solid, dashed, dotted, densely dashed, loosely dotted, dashdotted, dash pattern=on 4pt off 2pt | Працює |
mark= | *, o, square*, square, triangle*, triangle, diamond*, diamond, x, +, star, pentagon*, asterisk, otimes*, |, -, none | Працює |
mark size=3pt | радіус маркера | Працює |
mark options={fill=white} | стиль лише маркерів | Працює |
mark repeat=2 | маркер на кожній другій точці | Працює |
no marks, only marks | лише лінії, лише маркери | Працює |
Кольори, типи штрихів і маркери
\begin{tikzpicture}
\begin{axis}[domain=0:4, samples=9, legend pos=outer north east]
\addplot[blue, thick, mark=*] {x};
\addplot[red, dashed, mark=square*, mark options={fill=white}] {x^1.5/2};
\addplot[teal, densely dotted, very thick] {sqrt(x)};
\addplot[orange, mark=triangle*, mark size=3pt, only marks] {4 - x};
\legend{linear, power, root, falling}
\end{axis}
\end{tikzpicture}Маркери завжди малюються суцільними лініями, навіть на пунктирному ряді, як у pgfplots.
Вибір циклічного списку
Циклічний список є послідовністю стилів, яку використовують прості команди \addplot. Виберіть вбудований через cycle list name або напишіть власний через cycle list.
Циклічний список black white і власний список
\begin{tikzpicture}
\begin{axis}[cycle list name=black white, width=6.5cm, height=5cm, title={black white}]
\addplot coordinates {(0,0) (1,1) (2,4)};
\addplot coordinates {(0,1) (1,2) (2,2)};
\addplot coordinates {(0,2) (1,0) (2,1)};
\end{axis}
\end{tikzpicture}
\begin{tikzpicture}
\begin{axis}[cycle list={{red, thick}, {blue, dashed}}, width=6.5cm, height=5cm, title={custom}]
\addplot coordinates {(0,0) (1,1) (2,4)};
\addplot coordinates {(0,1) (1,2) (2,2)};
\end{axis}
\end{tikzpicture}Вбудовані назви, які працюють: color (стандартний), exotic, black white, mark list і linestyles. \pgfplotscreateplotcyclelist{name}{...} у преамбулі визначає список, який можна використовувати повторно.
Плавні криві й сходинки
smooth проводить через точки криву замість прямих відрізків; tension (за замовчуванням 0.55) керує її округлістю. const plot малює східчасту функцію, яка тримає кожне значення до наступної точки.
smooth і const plot
\begin{tikzpicture}
\begin{axis}[ymin=0, legend pos=north west]
\addplot+[smooth] coordinates {(0,1) (1,2.5) (2,1.8) (3,3.2) (4,2.4)};
\addplot+[const plot] coordinates {(0,0.5) (1,1) (2,1.5) (3,1.2) (4,2)};
\legend{smooth, const plot}
\end{axis}
\end{tikzpicture}Функції в градусах і радіанах
Формули використовують pgfmath: + - * / ^, дужки, sqrt, exp, ln, abs, min, max, sin, cos, tan та інші, а також константи pi і e. Кути задаються в градусах, тож перетворюйте радіани через deg(x).
sin і cos на одному періоді
\begin{tikzpicture}
\begin{axis}[domain=0:2*pi, samples=80, xlabel=$t$,
xtick={0,1.5708,3.1416,4.7124,6.2832},
xticklabels={$0$,$\frac{\pi}{2}$,$\pi$,$\frac{3\pi}{2}$,$2\pi$},
legend pos=south west]
\addplot[blue, thick] {sin(deg(x))};
\addplot[red, thick, dashed] {cos(deg(x))};
\legend{$\sin t$, $\cos t$}
\end{axis}
\end{tikzpicture}Параметричні криві
Щоб побудувати криву, задану через x(t) і y(t), напишіть обидві формули в дужках через кому й задайте variable=t.
Крива Ліссажу
\begin{tikzpicture}
\begin{axis}[axis lines=middle, xmin=-1.3, xmax=1.3, ymin=-1.3, ymax=1.3]
\addplot[purple, thick, domain=0:360, samples=120, variable=t]
({cos(t)}, {sin(2*t)});
\end{axis}
\end{tikzpicture}Розриви кривої
Функція на кшталт 1/x прямує до нескінченності. restrict y to domain відкидає точки поза діапазоном, а unbounded coords=jump розриває там лінію замість того, щоб з’єднувати дві гілки. Задайте обидва параметри для \addplot.
1/x з розривом у нулі
\begin{tikzpicture}
\begin{axis}[ymin=-10, ymax=10, axis lines=middle]
\addplot[blue, thick, domain=-3:3, samples=200,
restrict y to domain=-10:10, unbounded coords=jump] {1/x};
\end{axis}
\end{tikzpicture}Чим це відрізняється від установленого TeX
Посібник pgfplots на CTAN описує кожен параметр: ctan.org/pkg/pgfplots. Для точок без ліній див. точкові діаграми.
Див. також основи pgfplots, логарифмічні осі, групи графіків і дані з CSV.
Запитання й відповіді
Як побудувати графік функції в LaTeX?
Напишіть \addplot[domain=a:b, samples=n] {formula}; усередині axis, використовуючи x як змінну, наприклад {x^2 - 1}.
Як прибрати маркери з лінії?
Додайте no marks до параметрів \addplot або задайте параметри без + (наприклад, \addplot[blue]), що малює просту лінію.
Чому sin(x) виглядає майже пласким?
pgfplots читає кут у градусах, тож sin(x) на відрізку від 0 до 6 охоплює лише 6 градусів. Пишіть sin(deg(x)).
Кожен приклад на цій сторінці верстається в Scissor LaTeX під час збирання сайту. Оновлено 2026-11-07.