Перейти до вмісту

Основи pgfplots: графіки в LaTeX із прикладами

Завантажте pgfplots, відкрийте tikzpicture з axis усередині й додайте кожен ряд даних командою \addplot, як список координат або як формулу.

Найменший графік

Кожен графік pgfplots має ті самі три шари: tikzpicture, axis усередині нього і по одному \addplot на кожен ряд даних. Завантажте пакет командою \usepackage{pgfplots} у преамбулі.

Чотири точки, з’єднані лінією

LaTeXПреамбула: \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

LaTeXПреамбула: \usepackage{pgfplots}Відкрити в редакторі (відкриється в новій вкладці)
\begin{tikzpicture}
  \begin{axis}
    \addplot[blue, thick, domain=-2:2, samples=60] {x^3 - 2*x};
  \end{axis}
\end{tikzpicture}

Параметри у квадратних дужках після \addplot задають стиль цього ряду. Якщо ви даєте параметри без +, ряд малюється чорним (або названим вами кольором) без маркерів; \addplot+[...] зберігає стиль із циклічного списку й додає до нього ваші параметри.

Підписи, заголовок, легенда й сітка

Ці параметри задаються для axis, тож вони впливають на весь графік.

Підписи осей, заголовок, легенда й сітка

LaTeXПреамбула: \usepackage{pgfplots}Відкрити в редакторі (відкриється в новій вкладці)
\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}
Зверстано в Scissor LaTeX: Підписи осей, заголовок, легенда й сітка

Підписи є текстом, тож математика йде між $ ... $, як в абзаці. \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 westnorth 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 з підписом

LaTeXПреамбула: \usepackage{pgfplots}Відкрити в редакторі (відкриється в новій вкладці)
\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.
Зверстано в Scissor LaTeX: Графік у figure з підписом

\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.