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}
抢劫这个帖子了解详细信息。