如何使用 PGFPlots 中的文本文件中的参数在循环中创建图例?

如何使用 PGFPlots 中的文本文件中的参数在循环中创建图例?

我在文本文件中有一个参数,我想使用这些参数创建图例。我尝试使用

\pgfplotstableread{param.txt}{\myparams}

并获取特定参数

\pgfplotstablegetelem{0}{0}\of{\myparams}

然后使用设置宏

\pgfmathsetmacro\parA{\pgfplotsretval}

并使用创建图例条目

\addlegendentry{\pgfmathprintnumber[precision=5,use comma]{\parA}}

我曾尝试使用\foreach命令和简单的复制粘贴来执行此操作,但都没有成功。

一个条目由表中的多个不同元素组成。

答案1

你的意思是......之类的吗?

% create a dummy file with some values
\begin{filecontents}{param.txt}
    0.1 0.2 0.3
    0.4 0.5 0.6
\end{filecontents}
\documentclass[border=2pt]{standalone}
\usepackage{pgfplots}
\begin{document}
    \begin{tikzpicture}
            % read the data table
            \pgfplotstableread{param.txt}{\myparams}
        \begin{axis}
            % create a loop and specify some indices that can be found
            % in the data file
            \foreach \i/\j in {
                0/0,
                1/1,
                0/2%
            }{
            % read the element in the data table and store it in `\param'
                    \pgfplotstablegetelem{\i}{\j}\of{\myparams}
                    \pgfmathsetmacro{\param}{\pgfplotsretval}
            % now create the plot and the corresponding legend entry
                \addplot {\param};
                \addlegendentryexpanded{%
                    \pgfmathprintnumber[precision=5,use comma]{\param}
                }
            }
        \end{axis}
    \end{tikzpicture}
\end{document}

该图显示了上述代码的结果

相关内容