Планки погрешностей с 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.