Przejdź do treści

Słupki błędów w pgfplots

Dodaj error bars/.cd, y dir=both, y explicit do opcji \addplot i zapisz każdy błąd po jego punkcie jako +- (0, error) albo odczytaj błędy z kolumny tabeli za pomocą y error=.

Błędy zapisane przy punktach

Słupki błędów włącza się dla każdego \addplot osobno. Klucze po error bars/.cd mówią, w którym kierunku je rysować i skąd pochodzą wartości. Przy y explicit każdy punkt niesie własny błąd po +-.

Symetryczne błędy y ze współrzędnych

LaTeXPreambuła: \usepackage{pgfplots}Otwórz w edytorze (otwiera się w nowej karcie)
\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}

W +- (ex, ey) pierwsza liczba to błąd x, a druga błąd y. Rysowane są tylko kierunki, które włączysz.

Błędy z kolumny tabeli

Gdy dane są tabelą, wskaż kolumnę błędów za pomocą y error=. To samo działa z plikiem, na przykład table[x=t, y=v, y error=dv, col sep=comma] {data.csv}.

Błędy y odczytane z kolumny

LaTeXPreambuła: \usepackage{pgfplots}Otwórz w edytorze (otwiera się w nowej karcie)
\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}

Błędy jednostronne i stałe

y dir=plus lub y dir=minus rysuje tylko górną lub dolną połowę. Zamiast jawnych wartości y fixed=0.2 daje każdemu punktowi ten sam błąd, a y fixed relative=0.1 błąd równy 10% jego wartości.

Tylko błędy górne i błąd względny

LaTeXPreambuła: \usepackage{pgfplots}Otwórz w edytorze (otwiera się w nowej karcie)
\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}
Złożone przez Scissor LaTeX: Tylko błędy górne i błąd względny

Różne błędy w górę i w dół

Napisz += (0, up) dla błędu górnego i -= (0, down) dla dolnego.

Błędy asymetryczne

LaTeXPreambuła: \usepackage{pgfplots}Otwórz w edytorze (otwiera się w nowej karcie)
\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}

Błędy w x i y

Włącz oba kierunki za pomocą x dir i y dir. error bar style nadaje styl słupkom.

Słupki błędów w obu kierunkach

LaTeXPreambuła: \usepackage{pgfplots}Otwórz w edytorze (otwiera się w nowej karcie)
\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}

Pasma błędów z fill between

Dla ciągłej niepewności zacieniuj obszar między górną a dolną krzywą. Załaduj bibliotekę fillbetween, nazwij obie krzywe za pomocą name path i wypełnij obszar między nimi.

Zacieniowane pasmo wokół krzywej

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

Opcje słupków błędów

OpcjaCo robiW Scissor LaTeX
y dir=both, plus, minus, nonektórą połowę słupka rysować (także x dir)Działa
y explicit, x explicitbłędy z +- we współrzędnych lub z kolumny tabeliDziała
y error=col, x error=col, y error index=nkolumna tabeli z błędamiDziała
+= (ex,ey), -= (ex,ey)osobne błędy górne i dolne we współrzędnychDziała
y fixed=v, y fixed relative=rten sam błąd dla każdego punktuDziała
error bar style={..}kolor i grubość linii słupkówDziała
error mark=.., error mark options={..}zakończenie na każdym końcuAkceptowane, ale zakończenie jest zawsze krótką kreską

Czym różni się od instalacji TeX

Dokumentacja pgfplots opisuje słupki błędów w części poświęconej error bars: ctan.org/pkg/pgfplots.

Zobacz też Wykresy słupkowe, Wykresy punktowe i Dane z CSV.

Pytania i odpowiedzi

Jak dodać słupki błędów w pgfplots?

Napisz \addplot+[error bars/.cd, y dir=both, y explicit] coordinates {(1,2) +- (0,0.3) ...};. Druga liczba po +- to błąd y.

Jak odczytać słupki błędów z pliku CSV?

Dodaj y error=column do opcji tabeli, razem z y explicit w opcjach słupków błędów: table[x=a, y=b, y error=c, col sep=comma] {file.csv}.

Czy słupki błędów mogą być różne w górę i w dół?

Tak. Zamiast +- napisz po punkcie += (0, up) i -= (0, down), jak w (1,2) += (0,0.5) -= (0,0.1).

Każdy przykład na tej stronie jest składany przez Scissor LaTeX podczas budowania witryny. Ostatnia aktualizacja: 2026-11-07.