我想创建一个带有误差线的图,其中 y 被限制在给定的域内。不幸的是,restrict y to domain
似乎不适用于误差线。
\documentclass{article}
\usepackage{pgfplots}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\pgfplotsset{compat=newest}
\pagestyle{empty}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
scaled ticks=false,
width = 0.9\linewidth,
height = 0.5562\linewidth,
xlabel={\footnotesize Testinstanzen},
ylabel={\footnotesize relative Abweichung},
xtick=\empty,
yticklabel={\footnotesize ~\pgfmathparse{\tick*100}\pgfmathprintnumber{\pgfmathresult}\%}
]
\addplot+[only marks,
color = blue,
mark = *,
mark options={fill=blue},
mark size = 1.5,
error bars/.cd,
error bar style={color=blue},
y dir = both,
y explicit,
x dir = none]
table[x index={0},y index={1}, y error plus index ={2}, y error minus index ={3}]plots/data/data.dat};
\end{axis}
\end{tikzpicture}
\end{document}
此代码创建以下图表:
我想将 y 限制在 0% 到 1% 之间,这样误差线更容易识别。第四个点处的长误差线应该结束于图的最顶部,以表明相应值甚至高于 1%。
非常感谢您的帮助!
示例数据文件“data.dat”:
0 0.0274 0.0775 0.0274
1 0.0275 0.0386 0.0271
2 0.0274 0.0407 0.0274
3 0.0260 0.0570 0.0247
4 0.0297 0.0560 0.0248
5 0.0465 0.1102 0.0405
6 0.0371 0.0808 0.0371
7 0.0381 0.0471 0.0337
8 0.0267 0.0387 0.0234
9 0.0247 0.0274 0.0247
答案1
此限制目前不适用于误差线。这是 pgfplots 中的一个错误或功能请求。
到目前为止,唯一的解决方法是@Jake建议的解决方法:设置ymax=0.15
。除非误差线值比数据点的标准比例高出几个数量级,否则它应该可以合理地工作。