pgfplots:没有标记但有误差线的点?

pgfplots:没有标记但有误差线的点?

如何使用没有标记但有误差线的 pgfplots 绘制数据点?如果我尝试marks=none启用误差线,我会得到带有误差线的大实心圆。例如,如果我将标记更改为,mark=+我必须手动调整标记大小,以便误差线大于标记。

原因是,如果我有误差线,我会自动获得实际数据点:误差线相交的点。所以我不需要明确的标记,但如上所述,仅设置mark=none似乎不足以实现这一点。

mark=none当标记均匀设置时,绘制带有误差线的实心圆:

\begin{tikzpicture}
  \begin{axis}
    \addplot[ only marks, mark=none,
              error bars/.cd, y dir=both, x dir=both, x explicit, y explicit]
       table [x index=0, y index=2, x error index=1, y error index=3]
       {mydata.txt};
  \end{axis}
\end{tikzpicture}

mydata.txtto work with 的部分内容:

3.414   8E-3    3.62    5E-2
1.570   2E-2    1.65    1E-1
3.809   9E-3    3.96    3E-2
4.340   2E-2    4.34    3E-2

如何在没有实际标记符号的情况下获取误差线,以便通过误差线的交叉“自动标记”点?

答案1

将选项添加no markers到轴,然后提供scatter, only marks给图。看似矛盾,但确实有效:

\documentclass{article}
\usepackage{tikz,pgfplots,filecontents}
\begin{filecontents*}{mydata.txt}
3.414   8E-3    3.62    5E-2
1.570   2E-2    1.65    1E-1
3.809   9E-3    3.96    3E-2
4.340   2E-2    4.34    3E-2
\end{filecontents*}

\pgfplotsset{compat=1.7}

\begin{document}
\begin{tikzpicture}
  \begin{axis}[no markers]
    \addplot[scatter, only marks,
              error bars/.cd, 
              y dir=both, x dir=both,
              x explicit, y explicit]
       table [x index=0, y index=2, x error index=1, y error index=3]
       {mydata.txt};
  \end{axis}
\end{tikzpicture}
\end{document}

输出:

输出

相关内容