У меня есть четыре текстовых файла с 21 столбцом в каждом, и я хочу построить график для каждого файла, первый столбец как x, а затем 20 следующих столбцов как y. Для каждого файла, затем объединить все это на одном графике. Это по сути 20 повторов при 4 различных условиях.
У меня есть следующий код, использующий \foreach
, но я хотел бы сделать его чище, используя \addplot+
вместо \addplot
аргумента fill. Если я использую \addplot+
внутри \foreach
цикла, то каждый повтор будет иметь свой собственный цвет, а это не совсем то, что мне нужно.
Если говорить точнее, следующий код делает то, что мне нужно, но я хотел бы услышать о решениях, которые позволят сделать его лучше.
\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}
решение1
- Ваш пример отсутствует
\usepackage{pgfplots}
- Вам не обязательно это нужно
draw=color
, простоcolor
достаточно - Какударныесказал, что одной
foreach
петли должно быть достаточно - Вы сказали, что у вас 21 столбец, поэтому цикл должен выполняться до этого значения.
\addplot[options]
следует выполнить толькоoptions
, поэтому вы можете пропуститьmark=none
. В противном случае вы можете указать\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}