میلههای خطا با pgfplots
error bars/.cd, y dir=both, y explicit را به گزینههای \addplot اضافه کنید و خطای هر نقطه را پس از آن به صورت +- (0, error) بنویسید، یا خطاها را با y error= از یک ستون جدول بخوانید.
خطاهایی که همراه نقطهها نوشته میشوند
میلههای خطا برای هر \addplot جداگانه روشن میشوند. کلیدهای پس از error bars/.cd میگویند در چه جهتی کشیده شوند و مقدارها از کجا بیایند. با y explicit، هر نقطه خطای خودش را پس از +- دارد.
خطاهای متقارن y از مختصات
\begin{tikzpicture}
\begin{axis}[xlabel={Length (m)}, ylabel={Period (s)}]
\addplot+[error bars/.cd, y dir=both, y explicit]
coordinates {
(0.2,0.90) +- (0,0.05)
(0.4,1.27) +- (0,0.04)
(0.6,1.55) +- (0,0.06)
(0.8,1.80) +- (0,0.05)
(1.0,2.01) +- (0,0.07)
};
\end{axis}
\end{tikzpicture}در +- (ex, ey) عدد اول خطای x است و عدد دوم خطای y. فقط جهتهایی که روشن کردهاید کشیده میشوند.
خطاها از ستون یک جدول
وقتی داده جدول است، ستون خطا را با y error= نام ببرید. همین با یک فایل هم کار میکند، مثلاً table[x=t, y=v, y error=dv, col sep=comma] {data.csv}.
خطاهای y که از یک ستون خوانده میشوند
\begin{tikzpicture}
\begin{axis}[xlabel={Dose}, ylabel={Response}, ymin=0]
\addplot+[only marks, error bars/.cd, y dir=both, y explicit]
table[x=dose, y=mean, y error=sd] {
dose mean sd
1 2.1 0.3
2 3.4 0.4
4 5.0 0.6
8 6.2 0.5
};
\end{axis}
\end{tikzpicture}خطاهای یکطرفه و ثابت
y dir=plus یا y dir=minus فقط نیمهٔ بالایی یا پایینی را میکشد. به جای مقدارهای صریح، y fixed=0.2 به همهٔ نقطهها خطایی یکسان میدهد و y fixed relative=0.1 خطایی برابر 10% مقدار هر نقطه.
فقط خطاهای بالایی، و یک خطای نسبی
\begin{tikzpicture}
\begin{axis}[ymin=0, legend pos=north west]
\addplot+[error bars/.cd, y dir=plus, y fixed=0.4]
coordinates {(1,2) (2,3) (3,3.5) (4,4.4)};
\addplot+[error bars/.cd, y dir=both, y fixed relative=0.1]
coordinates {(1,1) (2,1.6) (3,2.2) (4,2.5)};
\legend{fixed $\pm 0.4$ (upper), relative 10\%}
\end{axis}
\end{tikzpicture}خطاهای متفاوت در بالا و پایین
برای خطای بالایی += (0, up) و برای خطای پایینی -= (0, down) بنویسید.
خطاهای نامتقارن
\begin{tikzpicture}
\begin{axis}[width=7cm, height=5cm, xmin=0.5, xmax=3.5]
\addplot+[only marks, error bars/.cd, y dir=both, y explicit]
coordinates {
(1,2.0) += (0,0.5) -= (0,0.1)
(2,3.0) += (0,0.2) -= (0,0.6)
(3,2.6) += (0,0.3) -= (0,0.3)
};
\end{axis}
\end{tikzpicture}خطا در x و y
هر دو جهت را با x dir و y dir روشن کنید. error bar style به میلهها سبک میدهد.
میلههای خطا در هر دو جهت
\begin{tikzpicture}
\begin{axis}[xlabel=$x$, ylabel=$y$]
\addplot+[only marks, mark=square*,
error bars/.cd,
x dir=both, x explicit,
y dir=both, y explicit,
error bar style={red, thick}]
coordinates {
(1.0,1.2) +- (0.15,0.20)
(2.0,2.1) +- (0.20,0.15)
(3.0,2.8) +- (0.10,0.30)
};
\end{axis}
\end{tikzpicture}نوارهای خطا با fill between
برای عدم قطعیتی پیوسته، ناحیهٔ بین یک منحنی بالایی و یک منحنی پایینی را سایه بزنید. کتابخانهٔ fillbetween را بارگذاری کنید، هر دو منحنی را با name path نامگذاری کنید و بین آنها را پر کنید.
نواری سایهدار دور یک منحنی
\documentclass{article}
\usepackage{pgfplots}
\usepgfplotslibrary{fillbetween}
\begin{document}
\begin{tikzpicture}
\begin{axis}[domain=0:4, samples=40, xlabel=$t$, ylabel=$y$]
\addplot[name path=upper, draw=none] {exp(-0.5*x) + 0.1 + 0.05*x};
\addplot[name path=lower, draw=none] {exp(-0.5*x) - 0.1 - 0.05*x};
\addplot[blue!20] fill between[of=upper and lower];
\addplot[blue, thick] {exp(-0.5*x)};
\end{axis}
\end{tikzpicture}
\end{document}گزینههای میلهٔ خطا
| گزینه | کارش | در Scissor LaTeX |
|---|---|---|
y dir=both، plus، minus، none | کدام نیمهٔ میله کشیده شود (همچنین x dir) | کار میکند |
y explicit، x explicit | خطا از +- در مختصات یا از یک ستون جدول | کار میکند |
y error=col، x error=col، y error index=n | ستون جدولی که خطاها را دارد | کار میکند |
+= (ex,ey)، -= (ex,ey) | خطاهای بالایی و پایینی جداگانه در مختصات | کار میکند |
y fixed=v، y fixed relative=r | خطایی یکسان برای همهٔ نقطهها | کار میکند |
error bar style={..} | رنگ و ضخامت خط میلهها | کار میکند |
error mark=..، error mark options={..} | کلاهک در هر سر | پذیرفته میشود، اما کلاهک همیشه یک خط کوتاه است |
تفاوتها با یک نصب TeX
راهنمای pgfplots میلههای خطا را در بخش مربوط به آنها توضیح میدهد: ctan.org/pkg/pgfplots.
همچنین ببینید: نمودارهای میلهای، نمودارهای پراکندگی و داده از CSV.
پرسش و پاسخ
چطور در pgfplots میلهٔ خطا اضافه کنم؟
بنویسید \addplot+[error bars/.cd, y dir=both, y explicit] coordinates {(1,2) +- (0,0.3) ...};. عدد دوم پس از +- خطای y است.
چطور میلههای خطا را از یک فایل CSV بخوانم؟
y error=column را به گزینههای جدول اضافه کنید، همراه با y explicit در گزینههای میلهٔ خطا: table[x=a, y=b, y error=c, col sep=comma] {file.csv}.
آیا میلههای خطا میتوانند در بالا و پایین متفاوت باشند؟
بله. به جای +- پس از نقطه += (0, up) و -= (0, down) بنویسید، مثل (1,2) += (0,0.5) -= (0,0.1).
هر مثال این صفحه هنگام ساخت سایت با Scissor LaTeX حروفچینی میشود. آخرین بهروزرسانی: 2026-11-07.