有什么方法可以让 pgfplots 自动将表中的分数转换为浮点数以便进行绘图,如下例所示?
\documentclass{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot table[col sep=&,row sep=\\] {
1 & 1/4 \\
2 & 3/5 \\
4 & 7/8
};
\end{axis}
\end{tikzpicture}
\end{document}
答案1
一种方法是赋予列名称(例如x
和y
),然后使用
y expr={\thisrow{y}}
如下:
\documentclass{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot table[col sep=&,row sep=\\,y expr={\thisrow{y}}] {
x & y \\
1 & 1/4 \\
2 & 3/5 \\
4 & 7/8 \\
};
\end{axis}
\end{tikzpicture}
\end{document}
或者(感谢Torbjørn T.),如果你不想命名你的列,你可以使用
\addplot table[header=false,col sep=&,row sep=\\,y expr={\thisrowno{1}}
如下:
\documentclass{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot table[header=false,col sep=&,row sep=\\,y expr={\thisrowno{1}}] {
1 & 1/4 \\
2 & 3/5 \\
4 & 7/8 \\
};
\end{axis}
\end{tikzpicture}
\end{document}