我试图从 pgf 绘图表中包含和获取文本,但没有成功。
当仅使用数字时,一切都会顺利进行:
\documentclass{standalone}
\usepackage{pgfplotstable}
\pgfplotstableread[col sep=comma]{
1
}\mydata
\begin{document}
\begin{tikzpicture}
\pgfplotstablegetelem{0}{0}\of\mydata
\node[draw=black] at (0,0) {\pgfplotsretval};
\end{tikzpicture}
\end{document}
但是,当将数字替换为字母或文本字符串时,如下所示
\documentclass{standalone}
\usepackage{pgfplotstable}
\pgfplotstableread[col sep=comma]{
a
}\mydata
\begin{document}
\begin{tikzpicture}
\pgfplotstablegetelem{0}{0}\of\mydata
\node[draw=black] at (0,0) {\pgfplotsretval};
\end{tikzpicture}
\end{document}
我收到以下错误消息:
! Package pgfplots Error: Sorry, could not retrieve column '0' from table '<inl
ine_table>'. Please check spelling (or introduce name aliases)..
See the pgfplots package documentation for explanation.
Type H <return> for immediate help.
...
l.12 \pgfplotstablegetelem{0}{0}\of\mydata
如何从我的 pgf 绘图表中包含和获取文本?我尝试过将文本括在"
或'
中,但无济于事。
答案1
如果\pgfplotstableread
在表格的第一行遇到非数字字符,它会假定此行包含列名。在这种情况下,它会认为您的表格只包含一列,称为a
,没有任何数据,这就是为什么尝试检索列的第一个元素0
不起作用的原因:没有名为的列,也没有第一个元素。您可以通过在选项中0
设置来告诉 PGFPlots 所有内容都应被视为数据:header=false
\pgfplotstableread
\documentclass{standalone}
\usepackage{pgfplots}
\usepackage{pgfplotstable}
\usepackage{tikz}
\pgfplotstableread[col sep=comma, header=false]{
a
}\mydata
\begin{document}
\begin{tikzpicture}
\pgfplotstablegetelem{0}{0}\of\mydata
\node[draw=black] at (0,0) {\pgfplotsretval};
\end{tikzpicture}
\end{document}