Tengo cuatro archivos de texto con 21 columnas cada uno y quiero trazar, para cada archivo, la primera columna como x y luego las 20 columnas siguientes como y. Para cada archivo, júntelo todo en el mismo gráfico. Básicamente son 20 réplicas en 4 condiciones diferentes.
Tengo el siguiente código usando \foreach
, pero me gustaría hacerlo más limpio usando \addplot+
en lugar \addplot
del argumento fill. Si lo uso \addplot+
dentro del \foreach
bucle, entonces cada réplica tiene su propio color y no es realmente lo que quiero.
Para ser claros, el siguiente código hace lo que quiero, pero me gustaría conocer soluciones para hacerlo mejor.
\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}
Respuesta1
- falta tu ejemplo
\usepackage{pgfplots}
- No es necesario
draw=color
, solocolor
es suficiente. - Comopercutirdicho, un
foreach
bucle debería ser suficiente - Dijiste que tenías 21 columnas, por lo que el bucle debería ejecutarse hasta ese valor.
\addplot[options]
Sólo debe ejecutar eloptions
, por lo que puede omitir elmark=none
. De lo contrario puede 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}