1. ホーム
  2. gnuplot

[解決済み] gnuplot : 複数の入力ファイルからのデータを一つのグラフにプロットする

2023-03-12 23:45:59

質問

私は gnuplot を使ってグラフを描こうとしています。6 つのテキストファイルがあります。各テキストファイルは 2 つの列を含んでいます。最初の列は時間を秒単位で表しています (浮動小数点数)。2 番目の列はシーケンス番号です。私は、6 つのファイルすべてについて、時間対シーケンス番号のグラフを 1 つのグラフにプロットしたいのです。そのためにこのファイルを使っています。

set terminal png
set output 'akamai.png'

set xdata time
set timefmt "%S"
set xlabel "time"

set autoscale

set ylabel "highest seq number"
set format y "%s"

set title "seq number over time"
set key reverse Left outside
set grid

set style data linespoints

plot "print_1012720" using 1:2 title "Flow 1", \
plot "print_1058167" using 1:2 title "Flow 2", \
plot "print_193548"  using 1:2 title "Flow 3", \ 
plot "print_401125"  using 1:2 title "Flow 4", \
plot "print_401275"  using 1:2 title "Flow 5", \
plot "print_401276"  using 1:2 title "Flow 6"

私のファイルがあるところ。

  • print_1012720
  • print_1058167
  • print_193548
  • print_401125
  • print_401275
  • print_401276

以下のような変なエラーが出ています。

"plot.plt", line 24: 未定義の変数: plot

私のやり方が悪いのでしょうか?異なるファイルからの入力データを同じグラフにプロットすることは可能でしょうか?

どのように解決するのですか?

あと少しです。

変更

plot "print_1012720" using 1:2 title "Flow 1", \
plot "print_1058167" using 1:2 title "Flow 2", \
plot "print_193548"  using 1:2 title "Flow 3", \ 
plot "print_401125"  using 1:2 title "Flow 4", \
plot "print_401275"  using 1:2 title "Flow 5", \
plot "print_401276"  using 1:2 title "Flow 6"

から

plot "print_1012720" using 1:2 title "Flow 1", \
     "print_1058167" using 1:2 title "Flow 2", \
     "print_193548"  using 1:2 title "Flow 3", \ 
     "print_401125"  using 1:2 title "Flow 4", \
     "print_401275"  using 1:2 title "Flow 5", \
     "print_401276"  using 1:2 title "Flow 6"

このエラーは、gnuplot が "plot" という単語を描画するファイル名として解釈しようとしているのに、 "plot" という変数に何も文字列を割り当てていないために発生します (これは良いことです - それは非常に紛らわしいことです)。