我有四個文字文件,每列 21 列,我想為每個文件繪製第一列為 x,然後接下來的 20 列為 y。對於每個文件,然後將其全部放在同一個圖表上。基本上是 4 種不同條件下的 20 次重複。
我有以下程式碼,使用\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}