¿Cómo puedo mostrar barras de error negativas en un gráfico logarítmico usando pgfplots?

¿Cómo puedo mostrar barras de error negativas en un gráfico logarítmico usando pgfplots?

Tengo barras de error que representan intervalos de confianza del 95% en un gráfico logarítmico. Algunas de las barras de error se extienden a números negativos para los cuales el logaritmo no está definido, por lo que pgfplots simplemente elimina la barra por completo. ¿Hay alguna manera de hacer que se trace, por ejemplo, una línea discontinua que se extienda hasta el eje?

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

Respuesta1

Desafortunadamenteelimina las coordenadas fuera de rango automáticamente antes de llamar al esquema de dibujo (/pgfplots/error bars/draw error bar/ ). No hay (casi) ninguna posibilidad de queReconsiderará dibujar esa parte de la barra de error.

Sin embargo, aún puedes enfatizar la barra de error haciendo una segunda trama con una marca exagerada. Considera lo siguiente:

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

información relacionada