Tupla \ foreach de TikZ em PGF
Oct 21 2020
Eu gostaria de traçar uma lista de dados e adicionar de acordo com as entradas de legenda. Tentei usar \foreachpara tuplas que é implementado no pgfforpacote e carregado com o TikZ. Infelizmente, a segunda variável que descreve o rótulo \clabelparece ser indefinida para LaTeX. Esta construção parece funcionar se for usada no exterior \begin{axis} ... \end{axis}. Sinto falta de algo essencial em relação ao TikZ / PGF?
Exemplo mínimo
\documentclass[tikz,border=10pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{
compat=1.16,
}
\begin{document}
\begin{tikzpicture}
\begin{axis}[]
\foreach \c/\clabel in {1/a, 2/b}
{
\addplot {\c^2};
\addlegendentry{ \clabel }
};
\end{axis}
\end{tikzpicture}
\end{document}
Respostas
1 StevenB.Segletes Oct 21 2020 at 18:47
Você precisa expandir \clabelcomo o argumento para \addlegendentry, uma vez que a própria legenda é criada após a conclusão dos gráficos. Nesse ponto, o valor local de \clabelfoi perdido.
\documentclass[tikz,border=10pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{
compat=1.16,
}
\begin{document}
\begin{tikzpicture}
\begin{axis}[]
\foreach \c/\clabel in {1/a, 2/b}
{
\addplot {\c^2};
\expandafter\addlegendentry\expandafter{\clabel};
}
\end{axis}
\end{tikzpicture}
\end{document}
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?
George Harrison ficou chateado por suas letras de 'Hurdy Gurdy Man' de Donovan não terem sido usadas