Eu tenho quatro arquivos de texto com 21 colunas cada e quero plotar, para cada arquivo, a primeira coluna como x e, em seguida, as 20 colunas seguintes como y. Para cada arquivo, coloque tudo junto no mesmo gráfico. São basicamente 20 réplicas em 4 condições diferentes.
Eu tenho o código a seguir, usando \foreach
, mas gostaria de torná-lo mais limpo usando, \addplot+
em vez de \addplot
usar o argumento fill. Se eu usar \addplot+
dentro do \foreach
loop, cada réplica terá sua própria cor e não é realmente o que eu quero.
Para ser claro, o código a seguir faz o que eu quero, mas gostaria de ouvir sobre soluções para torná-lo melhor.
\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}
Responder1
- Seu exemplo está faltando
\usepackage{pgfplots}
- Você não precisa necessariamente
draw=color
, apenascolor
é o suficiente - Comopercussãodisse, um
foreach
loop deve ser suficiente - Você disse que tinha 21 colunas, então o loop deveria rodar até esse valor
\addplot[options]
deve executar apenas ooptions
, então você pode deixar de fora omark=none
. Caso contrário, você pode especificar\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}