\usepackage{pgfplots}
أنشئ مخططات بجودة النشر مباشرةً في مستندات LaTeX باستخدام pgfplots. من مخططات الدوال البسيطة إلى الأشكال المعقدة متعددة اللوحات مع بيانات التبعثر.
أضف \usepackage{pgfplots} إلى المقدمة (preamble) واضبط مستوى التوافق باستخدام \pgfplotsset{compat=1.18} . ثم غلّف مخططك ببيئتي tikzpicture وaxis. شرح الخيارات الرئيسية:
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
title={$f(x) = x^{2}$},
xlabel={$x$},
ylabel={$f(x)$},
grid=major,
width=8cm,
height=6cm,
]
\addplot[blue, thick, domain=-3:3, samples=100] {x^2};
\end{axis}
\end{tikzpicture}
\end{document}تُمرَّر جميع الخيارات داخل الأقواس المربعة للأمر \begin{axis}[…]. ويمكن الجمع بينها بحرية.
| الخيار | النوع | الوصف |
|---|---|---|
| title | string | العنوان المعروض فوق إطار المحور. |
| xlabel / ylabel | string | تسميات المحورين x وy؛ تدعم وضع الرياضيات. |
| xmin / xmax | number | حدّان أدنى وأعلى صريحان للمحور x. |
| grid | major | minor | both | يرسم خطوط الشبكة عند العلامات الرئيسية أو الفرعية أو كليهما. |
| xtick | list | مواضع العلامات الصريحة كقائمة مفصولة بفواصل. |
| xticklabels | list | تسميات مخصصة لكل علامة؛ تدعم مدخلات وضع الرياضيات. |
| width / height | length | Physical size of the axis box, e.g. 10cm or 0.8\textwidth. |
| legend pos | keyword | موضع وسيلة الإيضاح: north east وsouth west وouter north east وغيرها. |
أضف عدة أوامر \addplot داخل بيئة axis نفسها لتراكب المنحنيات. أتبع كل منها بـ \addlegendentry{label} لملء وسيلة الإيضاح تلقائيًا. يتحكم الخيار legend pos في الموضع؛ استخدم outer north east لوضع وسيلة الإيضاح خارج إطار المحور وتجنب تغطية بياناتك.
تقبل تسميات العلامات المخصصة عبر xticklabels كسورًا في وضع الرياضيات مثل $\frac{\pi}{2}$ . ويُدرج الخيار minor tick num=1 علامة فرعية واحدة بين كل علامتين رئيسيتين.
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
title={Trigonometric Functions},
xlabel={$x$ (radians)},
ylabel={$y$},
xmin=0, xmax=6.2832,
ymin=-1.3, ymax=1.3,
xtick={0,1.5708,3.1416,4.7124,6.2832},
xticklabels={$0$, $\frac{\pi}{2}$, $\pi$, $\frac{3\pi}{2}$, $2\pi$},
grid=both,
minor tick num=1,
legend pos=outer north east,
width=10cm,
height=6cm,
]
\addplot[blue, thick, domain=0:6.2832, samples=200] {sin(deg(x))};
\addlegendentry{$\sin(x)$}
\addplot[red, thick, domain=0:6.2832, samples=200] {cos(deg(x))};
\addlegendentry{$\cos(x)$}
\end{axis}
\end{tikzpicture}
\end{document}يدعم pgfplots عدة معالجات للمخططات عبر الأمر \addplot. يُختار المعالج عبر خيارات المخطط أو صياغة الإحداثيات.
ارسم أي تعبير رياضي على نطاق باستخدام domain وsamples.
\addplot[color, thick, domain=a:b] {expr};ارسم نقاط بيانات منفصلة مقدمة مباشرةً في الملف المصدري.
\addplot[only marks] coordinates { (x1,y1) (x2,y2) };مخطط أعمدة رأسية باستخدام معالج المخطط ybar مع أزواج الإحداثيات.
\addplot[ybar] coordinates { (1,3) (2,5) (3,2) };حمّل بيانات جدولية من ملف CSV خارجي أو ملف مفصول بمسافات.
\addplot table {data.csv};ثلاثة تعديلات شائعة في الأنماط تجعل المخططات تبدو متقنة في المستندات الأكاديمية.
نظام الألوان
طبّق خريطة ألوان pgfplots على سطح أو مخطط تبعثر بإضافة colormap/cool كخيار للمحور.
colormap/coolحجم الخط
غيّر مقياس تسميات العلامات بشكل مستقل عن خط المستند باستخدام tick label style={font=\small} داخل خيارات المحور.
tick label style={font=\small}نمط الشبكة
خصّص مظهر خطوط الشبكة بضبط grid style={dashed, gray!40} في خيارات المحور.
grid style={dashed, gray!40}لوضع مخططين أو أكثر جنبًا إلى جنب في شكل واحد، اجمع pgfplots مع حزمة subcaption. يوجد كل مخطط داخل بيئة subfigure. اضبط width=\linewidth داخل خيارات المحور ليملأ كل مخطط عموده. استخدم \hfill بين الأشكال الفرعية لتوزيع المساحة الأفقية بالتساوي.
يوفر الأمر الخارجي \caption في بيئة figure العنوان العام، بينما يحصل كل subfigure على عنوانه الفرعي الموسوم تلقائيًا (a) و(b) وهكذا.
\documentclass{article}
\usepackage{pgfplots}
\usepackage{subcaption}
\pgfplotsset{compat=1.18}
\begin{document}
\begin{figure}[htbp]
\centering
\begin{subfigure}{0.48\textwidth}
\begin{tikzpicture}
\begin{axis}[width=\linewidth, title={$\sin(x)$}, grid=major]
\addplot[blue, thick, domain=0:6.2832, samples=100] {sin(deg(x))};
\end{axis}
\end{tikzpicture}
\caption{Sine function}
\end{subfigure}
\hfill
\begin{subfigure}{0.48\textwidth}
\begin{tikzpicture}
\begin{axis}[width=\linewidth, title={$\cos(x)$}, grid=major]
\addplot[red, thick, domain=0:6.2832, samples=100] {cos(deg(x))};
\end{axis}
\end{tikzpicture}
\caption{Cosine function}
\end{subfigure}
\caption{Trigonometric functions side by side}
\end{figure}
\end{document}افتح مثال موجة جيبية جاهزًا للتجميع مباشرةً في الـ playground الخاص بـ FormaTeX. عدّله مباشرةً ونزّل ملف PDF دون الحاجة إلى تثبيت.
يجمّع FormaTeX شيفرة LaTeX في السحابة دون الحاجة إلى تثبيت TeX محليًا. سجّل مجانًا وابدأ الرسم في ثوانٍ.