为了说明问题,我使用了此链接答案中的代码来表示 pgfplots 中的不对称误差线。
\documentclass{article}
\usepackage{pgfplots}
\usepackage{pgfplotstable}
\pgfplotstableread{
x y y-max y-min
Lighting 0.12 0.31 0.03
Computers 0.06 0.12 0.01
Total 0.07 0.14 0.02
}{\mytable}
\begin{document}
\begin{tikzpicture}[scale=1.3]
\begin{axis} [symbolic x coords={Lighting,Computers,Total},xtick=data]
\addplot+[forget plot,only marks]
plot[error bars/.cd, y dir=plus, y explicit]
table[x=x,y=y,y error expr=\thisrow{y-max}] {\mytable};
\addplot+[only marks,xticklabels=\empty]
plot[error bars/.cd, y dir=minus, y explicit]
table[x=x,y=y,y error expr=\thisrow{y-min}] {\mytable};
\end{axis}
\end{tikzpicture}
\end{document}
我需要一张带有不对称误差线的条形图用于演示。是否可以叠加两个误差线图来绘制误差线?如何操作?
答案1
从 PGFPlots 1.9 开始,直接支持非对称误差线,因此您只需使用一个\addplot [ybar]
命令即可:
\documentclass{article}
\usepackage{pgfplots}
\pgfplotstableread{
x y y-max y-min
Lighting 0.12 0.31 0.03
Computers 0.06 0.12 0.01
Total 0.07 0.14 0.02
}{\mytable}
\begin{document}
\begin{tikzpicture}
\begin{axis} [
ymin=0,
symbolic x coords={Lighting,Computers,Total},
xtick=data
]
\addplot [ybar, fill=gray!50]
plot [error bars/.cd, y dir=both, y explicit]
table [y error plus=y-max, y error minus=y-min] {\mytable};
\end{axis}
\end{tikzpicture}
\end{document}