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

Кілька графіків у сітці з groupplots

Завантажте бібліотеку groupplots, відкрийте середовище groupplot з group style={group size=2 by 1} і починайте кожен графік командою \nextgroupplot.

Два графіки поруч

Бібліотека groupplots розміщує кілька осей у сітці, з однаковим розміром і вирівняними рамками. group size=2 by 1 означає два стовпці й один рядок. Кожен \nextgroupplot починає наступну клітинку в порядку читання.

Два графіки в одному рядку

\documentclass{article}
\usepackage{pgfplots}
\usepgfplotslibrary{groupplots}
\begin{document}
\begin{tikzpicture}
  \begin{groupplot}[
      group style={group size=2 by 1, horizontal sep=1.5cm},
      width=6cm, height=4.5cm, xlabel=$t$,
    ]
    \nextgroupplot[title={Position}, ylabel=$x$]
    \addplot[blue, thick, domain=0:4, samples=40] {x^2/2};
    \nextgroupplot[title={Velocity}, ylabel=$v$]
    \addplot[red, thick, domain=0:4] {x};
  \end{groupplot}
\end{tikzpicture}
\end{document}

Параметри groupplot застосовуються до кожної клітинки; параметри \nextgroupplot лише до цієї клітинки.

Сітка 2 на 2 зі спільними підписами

У сітці внутрішні підписи поділок і підписи осей повторюються. xlabels at=edge bottom і ylabels at=edge left залишають підписи осей лише на зовнішніх графіках, а xticklabels at=edge bottom робить те саме для підписів поділок по x.

Чотири графіки з підписами на зовнішніх краях

\documentclass{article}
\usepackage{pgfplots}
\usepgfplotslibrary{groupplots}
\begin{document}
\begin{tikzpicture}
  \begin{groupplot}[
      group style={
        group size=2 by 2,
        horizontal sep=1.2cm, vertical sep=1cm,
        xlabels at=edge bottom, ylabels at=edge left,
        xticklabels at=edge bottom,
      },
      width=5.5cm, height=4cm,
      xlabel=$t$, ylabel=$y$, domain=0:6, samples=50,
    ]
    \nextgroupplot \addplot[blue] {sin(deg(x))};
    \nextgroupplot \addplot[red] {cos(deg(x))};
    \nextgroupplot \addplot[teal] {exp(-x/2)};
    \nextgroupplot \addplot[orange] {x/6};
  \end{groupplot}
\end{tikzpicture}
\end{document}

Основний графік і панель залишків

Клітинки можуть мати різну висоту й різні діапазони. Поширене компонування: графік даних із невеликою панеллю залишків під ним і спільною віссю x.

Дані й залишки

\documentclass{article}
\usepackage{pgfplots}
\usepgfplotslibrary{groupplots}
\begin{document}
\begin{tikzpicture}
  \begin{groupplot}[
      group style={group size=1 by 2, vertical sep=0.4cm, xticklabels at=edge bottom},
      width=8cm, xmin=0, xmax=5,
    ]
    \nextgroupplot[height=5cm, ylabel={Signal}]
    \addplot+[only marks] coordinates {(1,2.1) (2,3.9) (3,6.2) (4,7.8)};
    \addplot[red, domain=0:5] {2*x};
    \nextgroupplot[height=3cm, xlabel=$x$, ylabel={Residual}, ymin=-0.5, ymax=0.5]
    \addplot+[only marks] coordinates {(1,0.1) (2,-0.1) (3,0.2) (4,-0.2)};
    \addplot[gray, dashed, domain=0:5] {0};
  \end{groupplot}
\end{tikzpicture}
\end{document}

Ключі group style

КлючЩо робитьУ Scissor LaTeX
group size=C by Rстовпці на рядкиПрацює
horizontal sep, vertical sepпроміжок між рамками осейПрацює
xlabels at=edge bottom, ylabels at=edge leftпідписи осей лише на зовнішніх графіках (або all)Працює
xticklabels at=edge bottom, yticklabels at=edge leftпідписи поділок лише на зовнішніх графіках (або all)Працює
group name=gназва для посилань на клітинки, як g c1r1Приймається; посилання на клітинки не підтримуються

Чим це відрізняється від установленого TeX

Бібліотека є частиною pgfplots; див. розділ «groupplots» посібника на CTAN: ctan.org/pkg/pgfplots. Якщо ви новачок у pgfplots, почніть з графіків з pgfplots.

Див. також лінійні графіки, логарифмічні осі і pgfplots.

Запитання й відповіді

Як створити кілька підграфіків у LaTeX?

Використайте бібліотеку groupplots пакета pgfplots: \usepgfplotslibrary{groupplots}, потім \begin{groupplot}[group style={group size=2 by 2}] і по одному \nextgroupplot на кожен графік.

Як зробити спільні підписи осей у групі графіків?

Додайте xlabels at=edge bottom і ylabels at=edge left до group style і задайте xlabel та ylabel для groupplot.

Чи можуть два графіки мати одну легенду?

Кожна клітинка має власну легенду. Поставте легенду в одну клітинку й розмістіть її через legend style={at={(x,y)}, anchor=...}.

Кожен приклад на цій сторінці верстається в Scissor LaTeX під час збирання сайту. Оновлено 2026-11-07.