Przejdź do treści

Kilka wykresów w siatce z groupplots

Załaduj bibliotekę groupplots, otwórz środowisko groupplot z group style={group size=2 by 1} i zaczynaj każdy wykres od \nextgroupplot.

Dwa wykresy obok siebie

Biblioteka groupplots układa kilka osi w siatce, o tym samym rozmiarze i z wyrównanymi ramkami. group size=2 by 1 oznacza dwie kolumny i jeden wiersz. Każde \nextgroupplot zaczyna kolejną komórkę, w kolejności czytania.

Dwa wykresy w jednym wierszu

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

Opcje w groupplot dotyczą każdej komórki; opcje w \nextgroupplot tylko tej jednej.

Siatka 2 na 2 ze wspólnymi etykietami

W siatce wewnętrzne etykiety kresek i osi się powtarzają. xlabels at=edge bottom i ylabels at=edge left zostawiają etykiety osi tylko na wykresach zewnętrznych, a xticklabels at=edge bottom robi to samo z etykietami kresek osi x.

Cztery wykresy z etykietami na zewnętrznych krawędziach

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

Wykres główny i panel reszt

Komórki mogą mieć różne wysokości i zakresy. Częsty układ to wykres danych z małym panelem reszt pod spodem, ze wspólną osią x.

Dane i reszty

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

Klucze group style

KluczCo robiW Scissor LaTeX
group size=C by Rkolumny na wierszeDziała
horizontal sep, vertical sepodstęp między ramkami osiDziała
xlabels at=edge bottom, ylabels at=edge leftetykiety osi tylko na wykresach zewnętrznych (lub all)Działa
xticklabels at=edge bottom, yticklabels at=edge leftetykiety kresek tylko na wykresach zewnętrznych (lub all)Działa
group name=gnazwa do odwoływania się do komórek, jako g c1r1Akceptowane; odwołania do komórek nie są obsługiwane

Czym różni się od instalacji TeX

Biblioteka jest częścią pgfplots; zobacz rozdział „groupplots” w dokumentacji na CTAN: ctan.org/pkg/pgfplots. Jeśli pgfplots jest dla Ciebie nowy, zacznij od wykresów z pgfplots.

Zobacz też Wykresy liniowe, Osie logarytmiczne i pgfplots.

Pytania i odpowiedzi

Jak zrobić podwykresy w LaTeX?

Użyj biblioteki pgfplots groupplots: \usepgfplotslibrary{groupplots}, następnie \begin{groupplot}[group style={group size=2 by 2}] i po jednym \nextgroupplot na każdy wykres.

Jak współdzielić etykiety osi w wykresie grupowym?

Dodaj xlabels at=edge bottom i ylabels at=edge left do group style oraz ustaw xlabel i ylabel w groupplot.

Czy dwa wykresy mogą mieć jedną legendę?

Każda komórka ma własną legendę. Umieść legendę w jednej komórce i ustaw ją za pomocą legend style={at={(x,y)}, anchor=...}.

Każdy przykład na tej stronie jest składany przez Scissor LaTeX podczas budowania witryny. Ostatnia aktualizacja: 2026-11-07.