چند نمودار در یک شبکه با 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.