Langkau ke kandungan

Beberapa plot dalam grid dengan groupplots

Muatkan pustaka groupplots, buka persekitaran groupplot dengan group style={group size=2 by 1}, dan mulakan setiap plot dengan \nextgroupplot.

Dua plot bersebelahan

Pustaka groupplots menyusun beberapa paksi dalam grid, dengan saiz yang sama dan bingkai yang sejajar. group size=2 by 1 bermaksud dua lajur dan satu baris. Setiap \nextgroupplot memulakan sel seterusnya, mengikut urutan bacaan.

Dua plot dalam satu baris

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

Pilihan pada groupplot terpakai pada setiap sel; pilihan pada \nextgroupplot hanya pada sel itu.

Grid 2 kali 2 dengan label dikongsi

Dalam grid, label tanda dan label paksi di bahagian dalam berulang. xlabels at=edge bottom dan ylabels at=edge left mengekalkan label paksi pada plot luar sahaja, dan xticklabels at=edge bottom melakukan perkara yang sama untuk label tanda x.

Empat plot dengan label di tepi luar

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

Plot utama dan panel reja

Sel boleh mempunyai ketinggian dan julat yang berbeza. Susun atur yang biasa ialah plot data dengan panel kecil reja di bawahnya, berkongsi paksi x.

Data dan reja

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

Kekunci group style

KekunciFungsinyaDalam Scissor LaTeX
group size=C by Rlajur kali barisBerfungsi
horizontal sep, vertical sepruang antara bingkai paksiBerfungsi
xlabels at=edge bottom, ylabels at=edge leftlabel paksi pada plot luar sahaja (atau all)Berfungsi
xticklabels at=edge bottom, yticklabels at=edge leftlabel tanda pada plot luar sahaja (atau all)Berfungsi
group name=gnama untuk merujuk sel, sebagai g c1r1Diterima; rujukan kepada sel tidak disokong

Perbezaan dengan pemasangan TeX

Pustaka ini sebahagian daripada pgfplots; lihat bahagian "groupplots" dalam manual di CTAN: ctan.org/pkg/pgfplots. Mulakan dengan plot dengan pgfplots jika anda baru dengan pgfplots.

Lihat juga Plot garis, Paksi logaritma dan pgfplots.

Soalan dan jawapan

Bagaimanakah cara membuat subplot dalam LaTeX?

Gunakan pustaka groupplots pgfplots: \usepgfplotslibrary{groupplots}, kemudian \begin{groupplot}[group style={group size=2 by 2}] dan satu \nextgroupplot bagi setiap plot.

Bagaimanakah cara berkongsi label paksi dalam plot berkumpulan?

Tambah xlabels at=edge bottom dan ylabels at=edge left pada group style, dan tetapkan xlabel serta ylabel pada groupplot.

Bolehkah dua plot berkongsi satu petunjuk?

Setiap sel mempunyai petunjuknya sendiri. Letakkan petunjuk dalam satu sel dan tetapkan kedudukannya dengan legend style={at={(x,y)}, anchor=...}.

Setiap contoh di halaman ini disusun atur oleh Scissor LaTeX semasa laman dibina. Kali terakhir dikemas kini 2026-11-07.