I have a (multi)line plot generated from a table in pgfplots:
\begin{document}
\begin{tikzpicture}
\begin{axis}
\pgfplotstableread{table.tsv}\loadedtable
\foreach \metavar in {foo,bar} {
\addplot table[x index=1,y=\metavar] from \loadedtable node {\metavar};
}
\end{axis}
\end{tikzpicture}
\end{document}
This works well except for the node I want to place at the end of each line as a kind of inline legend.
Here, LaTeX complains:
! Argument of \T1\metavar has an extra }.
<inserted text>
\par
If I substitute the \metavar
node label with some literal text, everything compiles fine, but this of course misses the point of the \foreach
. So how do I access a loop variable in a place like this?
Best Answer
In this case, you'll have to use the
\pgfplotsforeachungrouped
, which makes sure that the loop is not executed inside its own group.