pgfplots 可以通过跳过或跳过nan
输入表文件中给出的任何值来处理表输入中的缺失值,如上所述这里。我想对误差线图做类似的事情。具体来说,表格中给出错误的列的几个条目被设置为,如下面的代码示例所示。我希望得到这样的结果:误差线只绘制在非值可用的nan
点上。nan
\documentclass[11pt]{article}
\usepackage{pgfplots}
\begin{filecontents}{tabletest.data}
x ind2 ind3
0 0.22507 0.99741
1 0.22507 nan
2 0.22507 0.99741
3 0.22507 nan
\end{filecontents}
\begin{document}
\begin{tikzpicture}
\begin{axis}[xlabel=x,ylabel=y,no markers]
\addplot plot[error bars/.cd,y dir=plus,y explicit,error mark=diamond*]
table[x=x,y=ind2,y error=ind3] {tabletest.data};
\end{axis}
\end{tikzpicture}
\end{document}
不幸的是,编译失败并出现错误Missing number, treated as zero.
,Illegal unit of measure (pt inserted).
当用数值替换时nan
,文件可以编译,但当然所有点都有错误条。
是否有另一种合理的方法可以仅从表数据的部分绘制点上获取误差线,或者这是 pgfplots 中缺少的功能?
这个问题有一个答案建议使用 gnuplot,但我想在不使用 gnuplot 的情况下做到这一点。
答案1
这是 pgfplots 1.5.1 中缺少的功能。它将出现在 1.5.1 之后的下一个稳定版本中(可能是 1.6)。