在 pgfplots 中定义多个索引的列表

在 pgfplots 中定义多个索引的列表

\foreach我正在尝试使用循环命令以pgfplotstable以下方式绘制几列对。

\documentclass[tikz]{standalone}
\usepackage{pgfplots,pgfplotstable}
\begin{document}
\begin{tikzpicture}
\def \x {data.txt}
\begin{axis}
    [
        xlabel={x},
        ylabel={y},     
    ]
    \foreach \i/\j in {0/1,2/3,4/5,6/7,8/9,10/11}{
    \edef\temp{\noexpand\addplot[smooth,color=blue,no marks] table[x index=\i,y index=\j] {\x};
    }
    \temp
    } 
\end{axis}
\end{tikzpicture}
\end{document}

有没有办法像下面这样自动创建两个变量的列表

 \foreach \i/\j in {0/1,2/3,...,10/11}

这似乎不起作用?

答案1

根据评论和之前提出的问题,我找到了一种基于父列表定义定义连续列表的方法,可以将其作为绘图的索引传递pgfplotstable。工作代码如下。

\documentclass[tikz]{standalone}
\usepackage{pgfplots,pgfplotstable}
\begin{document}
\begin{tikzpicture}
\def \x {data.txt}
\begin{axis}
   [
    xlabel={x},
    ylabel={y},     
   ]
   \foreach[evaluate=\j using int(\i+1)] \i in {0,2,...,38}
   {
   \edef\temp{\noexpand\addplot[smooth,color=blue,no marks] table[x index=\i,y index=\j] {\x};
   }
   \temp
   } 
\end{axis}
\end{tikzpicture}
\end{document}

相关内容