需要添加 for 循环才能在 tikzpicture 中添加大量 .csv 文件

需要添加 for 循环才能在 tikzpicture 中添加大量 .csv 文件

在此处输入图片描述

我正在尝试绘制 .csv 文件中的数据。我有很多 .csv 文件(大约 4000 个)。我不确定该怎么做。我正在寻找某种“for 循环”来执行此操作。任何帮助都将不胜感激。我在下面附上了一个示例代码。

我有很多数据文件,但我不想为所有 .csv 文件添加一行代码。我希望这能解释我的问题。

%\title{Plot_for_gain_tuning_paper}
\documentclass{article}
\usepackage{tikz}
\usepackage{pgfplots}
\usepackage{filecontents}
\usepackage[active,tightpage]{preview}
\PreviewEnvironment{tikzpicture}
\setlength\PreviewBorder{4pt}
\pgfplotsset{width=9.75cm,compat=1.3} 
\pgfplotsset{every axis legend/.append style={at={(0.45,-0.25)},legend columns=5,anchor=south,font=\small}}
\tikzset{every mark/.append style={scale=0.8}}
\pgfplotsset{compat=1.8}
\begin{document}

\begin{tikzpicture}
\begin{axis}[title=$V_{a_{rms}}+V_{b_{rms}}+V_{c_{rms}}$,xlabel={Time (in seconds)},ylabel={Voltage (in Volts)},grid=major,legend entries={$Index~1$,$Index~2$,$Index~3$,$Index~4$,$Index~5$}]
\addplot[color=black,style=solid,very thick] table [col sep=comma] {Data_128_4_1.csv};
\addplot[color=black,style=solid,very thick] table [col sep=comma] {Data_128_4_2.csv};
\addplot[color=black,style=solid,very thick] table [col sep=comma] {Data_128_4_3.csv};
\addplot[color=black,style=solid,very thick] table [col sep=comma] {Data_128_4_4.csv};
\end{axis}
\end{tikzpicture}
\end{document}

答案1

对于文件名有规律地“变化”的文件集合,命令\foreach(来自包pgffor, 的一个实用程序包tikz)可能会有所帮助。而不是

\begin{tikzpicture}
\begin{axis}[title=$V_{a_{rms}}+V_{b_{rms}}+V_{c_{rms}}$,xlabel={Time (in seconds)},ylabel={Voltage (in Volts)},grid=major,legend entries={$Index~1$,$Index~2$,$Index~3$,$Index~4$,$Index~5$}]
\addplot[color=black,style=solid,very thick] table [col sep=comma] {Data_128_4_1.csv};
\addplot[color=black,style=solid,very thick] table [col sep=comma] {Data_128_4_2.csv};
\addplot[color=black,style=solid,very thick] table [col sep=comma] {Data_128_4_3.csv};
...
\addplot[color=black,style=solid,very thick] table [col sep=comma] {Data_128_4_1000.csv};
\end{axis}
\end{tikzpicture}

你可以有:

\begin{tikzpicture}
\begin{axis}[
        title=$V_{a_{rms}}+V_{b_{rms}}+V_{c_{rms}}$,
        xlabel={Time (in seconds)},
        ylabel={Voltage (in Volts)},
        grid=major,
        legend entries={$Index~1$,$Index~2$,$Index~3$,$Index~4$,$Index~5$}
    ]

    \foreach \F in {1,2,...,1000}{
            \addplot[
                color=black,
                style=solid,
                very thick
            ] table [col sep=comma] {Data_128_4_\F.csv};
        }

\end{axis}
\end{tikzpicture}

相关内容