87

複数のファイルからデータを繰り返し取得し、gnuplotの同じグラフにプロットする方法はありますか?data1.txt、data2.txt......data1000.txtのようなファイルがあるとします。それぞれが同じ数の列を持っています。今、私は次のようなものを書くことができます-

plot "data1.txt" using 1:2 title "Flow 1", \
     "data2.txt" using 1:2 title "Flow 2", \
      .
      .
      .
     "data1000.txt"  using 1:2 title "Flow 6"

しかし、これは本当に不便です。gnuplotのプロット部分をループする方法があるかどうか疑問に思いました。

4

6 に答える 6

101

確かにあります(gnuplot 4.4以降):

plot for [i=1:1000] 'data'.i.'.txt' using 1:2 title 'Flow '.i

変数iは変数または文字列として解釈できるため、次のようなことができます

plot for [i=1:1000] 'data'.i.'.txt' using 1:($2+i) title 'Flow '.i

ラインを互いにオフセットさせたい場合。

詳細については、 gnuplothelp iterationコマンド ラインで入力してください。

do forまた、構文に関する@DarioPの回答も必ず確認してください。forこれにより、従来のループに近いものが得られます。

于 2013-02-18T23:18:19.490 に答える
8

グラフにプロットする個別の列がある場合は、次を使用します

do for [indx in "2 3 7 8"] {
  column = indx + 0
  plot ifile using 1:column ;  
}
于 2018-05-13T22:53:35.590 に答える