Pular para o conteúdo

Barras de erro com pgfplots

Acrescente error bars/.cd, y dir=both, y explicit às opções do \addplot e escreva cada erro depois do seu ponto como +- (0, error), ou leia os erros de uma coluna da tabela com y error=.

Erros escritos junto com os pontos

As barras de erro são ligadas em cada \addplot. As chaves depois de error bars/.cd dizem em que direção desenhá-las e de onde vêm os valores. Com y explicit, cada ponto traz o seu próprio erro depois de +-.

Erros simétricos em y a partir das coordenadas

LaTeXPreâmbulo: \usepackage{pgfplots}Abrir no editor (abre em uma nova aba)
\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}

Em +- (ex, ey), o primeiro número é o erro em x e o segundo, o erro em y. Só as direções que você ligar são desenhadas.

Erros de uma coluna da tabela

Quando os dados são uma tabela, indique a coluna de erros com y error=. O mesmo vale para um arquivo, por exemplo table[x=t, y=v, y error=dv, col sep=comma] {data.csv}.

Erros em y lidos de uma coluna

LaTeXPreâmbulo: \usepackage{pgfplots}Abrir no editor (abre em uma nova aba)
\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}

Erros unilaterais e fixos

y dir=plus ou y dir=minus desenha só a metade de cima ou a de baixo. Em vez de valores explícitos, y fixed=0.2 dá a todos os pontos o mesmo erro, e y fixed relative=0.1, um erro de 10% do seu valor.

Só erros para cima, e um erro relativo

LaTeXPreâmbulo: \usepackage{pgfplots}Abrir no editor (abre em uma nova aba)
\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}
Renderizado pelo Scissor LaTeX: Só erros para cima, e um erro relativo

Erros diferentes para cima e para baixo

Escreva += (0, up) para o erro superior e -= (0, down) para o inferior.

Erros assimétricos

LaTeXPreâmbulo: \usepackage{pgfplots}Abrir no editor (abre em uma nova aba)
\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}

Erros em x e y

Ligue as duas direções com x dir e y dir. error bar style define o estilo das barras.

Barras de erro nas duas direções

LaTeXPreâmbulo: \usepackage{pgfplots}Abrir no editor (abre em uma nova aba)
\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}

Faixas de erro com fill between

Para uma incerteza contínua, sombreie a área entre uma curva superior e uma inferior. Carregue a biblioteca fillbetween, dê nome às duas curvas com name path e preencha o espaço entre elas.

Uma faixa sombreada em volta de uma curva

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

Opções das barras de erro

OpçãoO que fazNo Scissor LaTeX
y dir=both, plus, minus, nonequal metade da barra desenhar (também x dir)Funciona
y explicit, x expliciterros vindos de +- nas coordenadas ou de uma coluna da tabelaFunciona
y error=col, x error=col, y error index=na coluna da tabela com os errosFunciona
+= (ex,ey), -= (ex,ey)erros superior e inferior separados nas coordenadasFunciona
y fixed=v, y fixed relative=ro mesmo erro para todos os pontosFunciona
error bar style={..}cor e espessura das barrasFunciona
error mark=.., error mark options={..}o remate em cada pontaAceito, mas o remate é sempre um traço curto

O que muda em relação a uma instalação do TeX

O manual do pgfplots descreve as barras de erro na seção dedicada a elas: ctan.org/pkg/pgfplots.

Veja também Gráficos de barras, Gráficos de dispersão e Dados de CSV.

Perguntas e respostas

Como acrescento barras de erro no pgfplots?

Escreva \addplot+[error bars/.cd, y dir=both, y explicit] coordinates {(1,2) +- (0,0.3) ...};. O segundo número depois de +- é o erro em y.

Como leio barras de erro de um arquivo CSV?

Acrescente y error=column às opções da tabela, junto com y explicit nas opções das barras de erro: table[x=a, y=b, y error=c, col sep=comma] {file.csv}.

As barras de erro podem ser diferentes para cima e para baixo?

Sim. Escreva += (0, up) e -= (0, down) depois do ponto, em vez de +-, como em (1,2) += (0,0.5) -= (0,0.1).

Cada exemplo desta página é composto pelo Scissor LaTeX quando o site é gerado. Última atualização: 2026-11-07.