PGZ में TikZ का \ foreach tuple

Oct 21 2020

मैं डेटा की एक सूची तैयार करना और किंवदंती प्रविष्टियों के अनुसार जोड़ना चाहूंगा। मैंने टुपल्स के लिए उपयोग करने की कोशिश की, \foreachजो pgfforपैकेज में लागू किया गया है और टिकज के साथ लोड किया गया है। दुर्भाग्य से, लेबल का वर्णन करने वाला दूसरा चर \clabelLaTeX के लिए अपरिभाषित प्रतीत होता है। यह निर्माण बाहर काम करने के लिए लगता है \begin{axis} ... \end{axis}। क्या मुझे TikZ / PGF के संबंध में कुछ आवश्यक याद आती है?

न्यूनतम उदाहरण

\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}

जवाब

1 StevenB.Segletes Oct 21 2020 at 18:47

आप के \clabelलिए तर्क के रूप में विस्तार करने की जरूरत है \addlegendentry, क्योंकि किंवदंती खुद प्लॉट के पूरा होने के बाद बनाई गई है। उस बिंदु तक, स्थानीय मान \clabelखो गया है।

\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}