
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
Infelizmentepgfplotsdescarta 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 quepgfplotsirá 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}