Como posso exibir barras de erro negativas em um gráfico logarítmico usando pgfplots?

Como posso exibir barras de erro negativas em um gráfico logarítmico usando pgfplots?

Tenho barras de erro que representam intervalos de confiança de 95% em um gráfico logarítmico. Algumas das barras de erro se estendem a números negativos para os quais o logaritmo é indefinido, então o pgfplots simplesmente elimina a barra completamente. Existe uma maneira de traçar, por exemplo, uma linha tracejada que se estende até o eixo?

\documentclass{article}
\usepackage{tikz}
\usepackage{pgfplots}

\begin{document}
\begin{tikzpicture}
\begin{semilogyaxis}
\addplot [error bars/.cd, y dir=both, y explicit] coordinates {
    (1, 10) +- (0, 1)
    (2, 10) +- (0, 10)
    (3, 10) +- (0, 1)
};
\end{semilogyaxis}
\end{tikzpicture}
\end{document}

Responder1

Infelizmentedescarta as coordenadas fora do intervalo automaticamente antes de chamar o esquema de desenho ( /pgfplots/error bars/draw error bar/). Não há (quase) nenhuma chance de queirá reconsiderar o desenho dessa parte da barra de erros.

No entanto, você ainda pode enfatizar a barra de erro fazendo um segundo gráfico com uma marca exagerada. Considere o seguinte:

\documentclass{article}
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=1.14} 

\begin{document}


\begin{tikzpicture}
\begin{semilogyaxis}
\addplot [error bars/.cd, y dir=both, y explicit] coordinates {
    (1, 9) +- (0, 1)   % good point
    (2, 11) += (0, 10) % bad point
    (3, 10) +- (0, 1)  % good poiny
    (4, 12) -= (0,3)   % bad point
};
\addplot [only marks,mark=.,error bars/.cd, y dir=both, y explicit relative,error mark=triangle*, error mark options={rotate=-90,scale=4}] coordinates {
    % good point has nothing to do
    (2, 11) -= (0,.5) % bad point
    % good point has nothing to do
    (4, 12) += (0,.5) % bad point
};
\end{semilogyaxis}
\end{tikzpicture}
\end{document}

informação relacionada