使用 pgfplots 计算列的平均值

使用 pgfplots 计算列的平均值

基于著名的示例创建一个包含一列的最小值/最大值/平均值的新列,我想知道如何计算平均值,然后将其用作微积分中的浮点变量?

答案1

答案由OP发布在问题中。

\documentclass{article}
\usepackage{pgfplots}
\usepackage{pgfplotstable}
\usepackage{filecontents}


\newcommand{\maxVal}[1]{
    \pgfkeys{/pgf/fpu}
    \pgfmathsetmacro\buffer{0.0}
    \pgfplotstableforeachcolumnelement{#1}\of\dataExternalA\as\cellValue{\pgfmathsetmacro{\buffer}{max(\buffer,\cellValue)}}
}


\begin{filecontents}{dataA.dat}
1 5
2 3
-1 6
4 14
5 0
6 1
\end{filecontents}





\begin{document}

% Read

\pgfplotstableread{dataA.dat}\tableA
\pgfplotstableread{pgfplotstable.example1.dat}\tableB

% Draw

\begin{tikzpicture}
\begin{axis}
\addplot[mark=none] table[x index = 0, y index = 1]{\tableA};
\end{axis}
\end{tikzpicture}

\begin{tikzpicture}
\begin{axis}
\addplot[mark=none] table[x = level, y = error1]{\tableB};
\end{axis}
\end{tikzpicture}

% Compute

\pgfplotstableread{dataA.dat}\dataExternalA
\maxVal{[index] 0}
The maximum for the first column of tableA is: \pgfmathprintnumber{\buffer} 

\pgfplotstableread{pgfplotstable.example1.dat}\dataExternalA
\maxVal{error1}
The maximum for the column "error1" of the 'pgfplotstable.example1.dat' file is: \pgfmathprintnumber{\buffer}


\end{document}

相关内容