如何使用 pgfplots 在對數圖中顯示負誤差線?

如何使用 pgfplots 在對數圖中顯示負誤差線?

我在對數圖中有代表 95% 信賴區間的誤差線。有些誤差線會延伸至未定義對數的負數,因此 pgfplots 會完全丟棄該誤差線。有沒有辦法讓它繪製例如一直延伸到軸的虛線?

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

答案1

很遺憾在呼叫繪圖方案之前自動刪除超出範圍的座標(/pgfplots/error bars/draw error bar/在呼叫繪圖方案 ( )。 (幾乎)沒有機會將重新考慮繪製錯誤欄的部分。

儘管如此,您仍然可以透過製作帶有誇張標記的第二個圖來強調誤差條。考慮以下:

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

相關內容