从 pgfplots 中的标题读取参数的标准方法

从 pgfplots 中的标题读取参数的标准方法

假设我有实验数据,我想从文件头中读取带有参数的文件。读取参数并使其作为 tex 宏可用的标准方法是什么。请考虑以下示例(mydata.dat如果有更适合 tex 的方法,语法可能会有所不同)。

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


\begin{filecontents*}{mydata.dat}
paramA = 1 #Comment: Parameter A 
paramB = 20 #Parameter B
## Data begins ###
x y
1 1
2 4
3 9
4 16
5 25
\end{filecontents*}

\begin{document}

\pgfmathsetmacro{\calculated}{\paramA + \paramB}

\begin{tikzpicture}
\begin{axis}[ymax=\paramB]
\addplot table {mydata.dat} node[above]{\paramB}; %should automatically skip the header lines without saying of how much lines to skip
\end{axis}
\end{tikzpicture}

\end{document}

答案1

简单的解决方案是在文件中使用 LaTeX 命令并使用\input

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

\begin{filecontents}{mydata.tex}
\def\paramA{1} %Comment: Parameter A 
\def\paramB{20} %Parameter B
\pgfplotstableread{
x y
1 1
2 4
3 9
4 16
5 25
}\mydata
\end{filecontents}

\begin{document}

\input{mydata}

\pgfmathsetmacro{\calculated}{\paramA + \paramB}

\begin{tikzpicture}
\begin{axis}[ymax=\paramB]
\addplot table {\mydata} node[above]{\paramB}; %should automatically skip the header lines without saying of how much lines to skip
\end{axis}
\end{tikzpicture}

\end{document}

相关内容