Naar de inhoud

Foutbalken met pgfplots

Voeg error bars/.cd, y dir=both, y explicit toe aan de opties van \addplot en schrijf elke fout na het punt als +- (0, error), of lees de fouten uit een tabelkolom met y error=.

Fouten bij de punten geschreven

Foutbalken zet je per \addplot aan. De sleutels na error bars/.cd zeggen in welke richting ze getekend worden en waar de waarden vandaan komen. Met y explicit draagt elk punt zijn eigen fout na +-.

Symmetrische y-fouten uit de coördinaten

LaTeXPreambule: \usepackage{pgfplots}Openen in de editor (opent in een nieuw tabblad)
\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}

In +- (ex, ey) is het eerste getal de x-fout en het tweede de y-fout. Alleen de richtingen die je aanzet, worden getekend.

Fouten uit een tabelkolom

Als de data een tabel is, noem je de foutkolom met y error=. Hetzelfde werkt met een bestand, bijvoorbeeld table[x=t, y=v, y error=dv, col sep=comma] {data.csv}.

y-fouten gelezen uit een kolom

LaTeXPreambule: \usepackage{pgfplots}Openen in de editor (opent in een nieuw tabblad)
\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}

Eenzijdige en vaste fouten

y dir=plus of y dir=minus tekent alleen de bovenste of de onderste helft. In plaats van expliciete waarden geeft y fixed=0.2 elk punt dezelfde fout, en y fixed relative=0.1 een fout van 10% van de waarde.

Alleen fouten naar boven, en een relatieve fout

LaTeXPreambule: \usepackage{pgfplots}Openen in de editor (opent in een nieuw tabblad)
\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}
Gezet door Scissor LaTeX: Alleen fouten naar boven, en een relatieve fout

Verschillende fouten boven en onder

Schrijf += (0, up) voor de fout naar boven en -= (0, down) voor die naar beneden.

Asymmetrische fouten

LaTeXPreambule: \usepackage{pgfplots}Openen in de editor (opent in een nieuw tabblad)
\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}

Fouten in x en y

Zet beide richtingen aan met x dir en y dir. error bar style bepaalt de stijl van de balken.

Foutbalken in beide richtingen

LaTeXPreambule: \usepackage{pgfplots}Openen in de editor (opent in een nieuw tabblad)
\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}

Foutbanden met fill between

Arceer voor een doorlopende onzekerheid het gebied tussen een bovenste en een onderste curve. Laad de bibliotheek fillbetween, geef beide curves een naam met name path en vul de ruimte ertussen.

Een gearceerde band rond een curve

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

Opties voor foutbalken

OptieWat het doetIn Scissor LaTeX
y dir=both, plus, minus, nonewelke helft van de balk getekend wordt (ook x dir)Werkt
y explicit, x explicitfouten uit +- in coördinaten of uit een tabelkolomWerkt
y error=col, x error=col, y error index=nde tabelkolom met de foutenWerkt
+= (ex,ey), -= (ex,ey)aparte fouten naar boven en beneden in coördinatenWerkt
y fixed=v, y fixed relative=rdezelfde fout voor elk puntWerkt
error bar style={..}kleur en lijndikte van de balkenWerkt
error mark=.., error mark options={..}het dwarsstreepje aan elk uiteindeGeaccepteerd, maar het dwarsstreepje is altijd een kort lijntje

Wat anders is dan in een TeX-installatie

De handleiding van pgfplots beschrijft foutbalken in de sectie over error bars: ctan.org/pkg/pgfplots.

Zie ook Staafdiagrammen, Spreidingsdiagrammen en Data uit CSV.

Vragen en antwoorden

Hoe voeg ik foutbalken toe in pgfplots?

Schrijf \addplot+[error bars/.cd, y dir=both, y explicit] coordinates {(1,2) +- (0,0.3) ...};. Het tweede getal na +- is de y-fout.

Hoe lees ik foutbalken uit een CSV-bestand?

Voeg y error=column toe aan de tabelopties, samen met y explicit in de opties voor foutbalken: table[x=a, y=b, y error=c, col sep=comma] {file.csv}.

Kunnen foutbalken boven en onder verschillen?

Ja. Schrijf na het punt += (0, up) en -= (0, down) in plaats van +-, zoals in (1,2) += (0,0.5) -= (0,0.1).

Elk voorbeeld op deze pagina wordt door Scissor LaTeX gezet wanneer de site wordt gebouwd. Laatst bijgewerkt op 2026-11-07.