我有一张估计平均值及其相关置信区间的表格。但是当我绘制置信区间时,pgfplots
将区间坐标视为误差值。有没有办法告诉pgfplots
按原样绘制 CI 数据,而不是从平均值中加/减 CI 值?
平均能量损失
\documentclass[border=2pt]{standalone}
\usepackage{pgfplots}
\usepackage{filecontents}
\begin{filecontents*}{data.txt}
Round NUM CI-L CI-H
1 1.50 1.09 1.91
2 1.05 0.61 1.49
3 0.50 0.14 0.86
4 0.20 -0.03 0.43
5 0.35 -0.15 0.85
6 0.30 -0.05 0.65
7 0.20 -0.10 0.50
8 0.25 -0.15 0.65
9 0.20 -0.10 0.50
10 0.20 -0.10 0.50
11 0.15 -0.06 0.36
12 0.20 -0.10 0.50
13 0.20 -0.10 0.50
14 0.20 -0.10 0.50
15 0.20 -0.10 0.50
16 0.25 -0.15 0.65
17 0.15 -0.06 0.36
18 0.20 -0.10 0.50
19 0.20 -0.10 0.50
20 0.15 -0.06 0.36
\end{filecontents*}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot table [x index=0, y index=1] {data.txt};
\addplot[error bars/.cd,y dir=minus,y explicit] table [x index=0, y index=1,y error index=2] {data.txt};
\addplot[error bars/.cd,y dir=plus,y explicit] table [x index=0, y index=1,y error index=3] {data.txt};
\end{axis}
\end{tikzpicture}
\end{document}
输出
答案1
y error plus expr
可以使用和键完成此操作y error minus expr
。您也可以将这三个\addplot
命令合并为一个。
\documentclass[border=5pt]{standalone}
\usepackage{pgfplots}
\usepackage{filecontents}
\begin{filecontents*}{data.txt}
Round NUM CI-L CI-H
1 1.50 1.09 1.91
2 1.05 0.61 1.49
3 0.50 0.14 0.86
4 0.20 -0.03 0.43
5 0.35 -0.15 0.85
6 0.30 -0.05 0.65
7 0.20 -0.10 0.50
8 0.25 -0.15 0.65
9 0.20 -0.10 0.50
10 0.20 -0.10 0.50
11 0.15 -0.06 0.36
12 0.20 -0.10 0.50
13 0.20 -0.10 0.50
14 0.20 -0.10 0.50
15 0.20 -0.10 0.50
16 0.25 -0.15 0.65
17 0.15 -0.06 0.36
18 0.20 -0.10 0.50
19 0.20 -0.10 0.50
20 0.15 -0.06 0.36
\end{filecontents*}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
]
\addplot+ [
error bars/.cd,
y explicit,
y dir=both,
] table [
x=Round,
y=NUM,
y error plus expr=\thisrow{CI-H}-\thisrow{NUM},
y error minus expr=\thisrow{NUM}-\thisrow{CI-L},
] {data.txt};
\end{axis}
\end{tikzpicture}
\end{document}