向 pgftable 添加行

向 pgftable 添加行

我需要添加一行自定义数据\pgfplotstable用于绘图。注释行是所需的数据。我可以读取和操作表中的任何元素,但无法添加任何行。有什么建议吗?

\documentclass{article}

\usepackage{pgfplots}

\begin{document}

\pgfplotstableread{
    s       f
    0.0     75.9638
    0.380665    206.565
    0.58711     243.435
    0.793555    333.435
%    1.0     Element(1,2) + 360.0 = 75.9638 + 360.0
}\data

\end{document}

答案1

pgfplotstable您可以向using添加新行\pgfplotstablevertcat,它以两个表作为参数并连接两个表中找到的列:

\documentclass{article}

\usepackage{pgfplotstable}

\begin{document}

% Original data
\pgfplotstableread{
    0.0     75.9638
    0.380665    206.565
    0.58711     243.435
    0.793555    333.435
}\data

% Get column names
\pgfplotstablegetcolumnnamebyindex{0}\of{\data}\to{\firstcolumnname}
\pgfplotstablegetcolumnnamebyindex{1}\of{\data}\to{\secondcolumnname}

% Retrieve desired element
\pgfplotstablegetelem{1}{[index]1}\of\data

% Perform calculation, save to \result
\pgfmathsetmacro\result{\pgfplotsretval + 360}

% Assemble new line
\edef\createsumrow{\noexpand\pgfplotstableread[header=has colnames,col sep=comma,row sep=crcr]{
    \firstcolumnname,\secondcolumnname\noexpand\\
    1.0,\result\noexpand\\
}\sum}
\createsumrow

% Concatenate
\pgfplotstablevertcat{\data}{\sum}

% Output
\pgfplotstabletypeset{\data}

\end{document}

相关内容