我怎样才能使 pgfplots 表识别分数?

我怎样才能使 pgfplots 表识别分数?

有什么方法可以让 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

一种方法是赋予列名称(例如xy),然后使用

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}

相关内容