Pgfplots:数据表中的标签未按预期工作

Pgfplots:数据表中的标签未按预期工作

pgfplots这是我第一次使用,所以错误可能出在我这边,但我的印象是xlabels from data={\table}{colname}可以用来将数据表中的字符串设置为 x 标签。然而,当我尝试它时,它什么也没做,标签仍然是数字(可能与有关x expr=\coordindex,但这也不是打印的内容)。

\documentclass{standalone}
\usepackage{tikz}
\usepackage{pgfplots}
\usepackage{pgfplotstable}
\usepackage{filecontents}

\begin{filecontents}{data.dat}
   fname foo
   one     1
   two     2
   three   3
\end{filecontents}

\begin{document}
\pgfplotstableread[col sep=space]{data.dat}\datatable
\begin{tikzpicture}
   \begin{axis}[
         xlabel={Image Number},
         ylabel={Distance ratio}
      ]
      \addplot table[
         xticklabels from table={\datatable}{fname},
         x expr=\coordindex,
         y=foo,
      ] {\datatable};
   \end{axis}
\end{tikzpicture}
\end{document}

结果: 在此处输入图片描述

如何正确使用密钥/pgfplots/xticklabels from table

答案1

这应该可以解决你的问题:

\documentclass{standalone}
\usepackage{tikz}
\usepackage{pgfplots}
\usepackage{pgfplotstable}
\usepackage{filecontents}

\begin{filecontents}{data.dat}
   fname foo
   one     1
   two     2
   three   3
\end{filecontents}

\begin{document}
\pgfplotstableread[col sep=space]{data.dat}\datatable
\begin{tikzpicture}
   \begin{axis}[
         xlabel={Image Number},
         xticklabels from table={data.dat}{fname},
         xtick=data,
         ylabel={Distance ratio}
      ]
      \addplot table[
         x expr=\coordindex,
         y=foo,         
      ] {\datatable};
   \end{axis}
\end{tikzpicture}
\end{document}

在此处输入图片描述

抢劫这个帖子了解详细信息。

相关内容