Verwenden von \addplot+ und \foreach in pgfplot

Verwenden von \addplot+ und \foreach in pgfplot

Ich habe vier Textdateien mit jeweils 21 Spalten und möchte für jede Datei die erste Spalte als x und dann die nächsten 20 Spalten als y darstellen. Für jede Datei wird dann alles in demselben Diagramm zusammengefasst. Im Grunde sind das 20 Replikate unter 4 verschiedenen Bedingungen.

Ich habe den folgenden Code, der verwendet \foreach, aber ich möchte ihn übersichtlicher gestalten, indem ich \addplot+anstelle \addplotdes Arguments fill verwende. Wenn ich \addplot+innerhalb der \foreachSchleife verwende, hat jede Wiederholung ihre eigene Farbe, und das ist nicht wirklich das, was ich möchte.

Um es klarzustellen: Der folgende Code macht, was ich will, aber ich würde gerne Lösungen hören, um ihn schöner zu machen.

\documentclass[professionalfonts,11pt]{beamer}
\begin{document}
\begin{frame}{Conséquences des variations du taux de croissance}

\begin{center}
    \begin{tikzpicture}
        \begin{semilogyaxis}[
            xlabel=Temps,
            ylabel={Taille de population},
            cycle list name = monokai,
            legend pos = north west
            ]
            \foreach \yindex in {2,...,20}
                \addplot[mark = none, draw = RYB1] table [y index = \yindex] {data/vardem_30.dat};
            \foreach \yindex in {2,...,20}
                \addplot[mark = none, draw = RYB2] table [y index = \yindex] {data/vardem_10.dat};
            \foreach \yindex in {2,...,20}
                \addplot[mark = none, draw = RYB3] table [y index = \yindex] {data/vardem_3.dat};
            \foreach \yindex in {2,...,20}
                \addplot[mark = none, draw = RYB4] table [y index = \yindex] {data/vardem_1.dat};
        \end{semilogyaxis}
    \end{tikzpicture}
\end{center}

\end{frame}
\end{document}

Antwort1

  • Dein Beispiel fehlt\usepackage{pgfplots}
  • Man braucht es nicht unbedingt draw=color, es colorreicht einfach
  • AlsSchlagzeugsagte, eine foreachSchleife sollte genug sein
  • Sie sagten, Sie hätten 21 Spalten, also sollte die Schleife bis zu diesem Wert laufen
  • \addplot[options]sollte nur das ausführen options, also können Sie das weglassen mark=none. Andernfalls können Sie angeben\pgfplotsset{every axis plot post/.append style={mark=none}}

\documentclass[professionalfonts,11pt]{beamer}
\usepackage{pgfplots}

\begin{document}

\begin{frame}{Conséquences des variations du taux de croissance}
    \begin{center}
        \begin{tikzpicture}
          \begin{semilogyaxis}
          [ xlabel=Temps,
            ylabel={Taille de population},
            cycle list name = monokai,
            legend pos = north west,
            ]
          \foreach \yindex in {2,...,21}
            {   \addplot[RYB1] table [y index = \yindex] {data/vardem_30.dat};
            \addplot[RYB2] table [y index = \yindex] {data/vardem_10.dat};
            \addplot[RYB3] table [y index = \yindex] {data/vardem_3.dat};
            \addplot[RYB4] table [y index = \yindex] {data/vardem_1.dat};
            } 
          \end{semilogyaxis}
        \end{tikzpicture}
    \end{center}
\end{frame}

\end{document}

verwandte Informationen