为什么\pgfplotsinvokeforeach
生产
错误:未定义控制序列。
当其内部之前有绘图宏时groupplot
?
\documentclass{article}
\usepackage{pgfplots}
\usepgfplotslibrary{groupplots}
\begin{document}
\begin{figure}
\begin{tikzpicture}
\begin{groupplot}[group style={group size=3 by 1}]
\nextgroupplot % When this and...
\addplot{x^1}; % this line is commented there is no error
\pgfplotsinvokeforeach{2,3}{%
\nextgroupplot
\addplot{x^#1};%
}
\end{groupplot}
\end{tikzpicture}
\end{figure}
\end{document}
答案1
我不确定,但这是由于foreach
循环内的分组导致的,因此pgfplots
认为存在不允许的嵌套。因此,只需进行一点手动取消分组工作,即可得到结果。
\documentclass{article}
\usepackage{pgfplots}
\usepgfplotslibrary{groupplots}
\begin{document}
\begin{figure}
\begin{tikzpicture}[scale=0.7]
\begin{groupplot}[group style={group size=3 by 1}]
\pgfplotsforeachungrouped \x in {1,2,3}{%
\edef\temp{\noexpand\nextgroupplot%
\noexpand\addplot{x^\x};%
}\temp
}
\end{groupplot}
\end{tikzpicture}
\end{figure}
\end{document}