Gnuplotを使用してグラフをプロットしようとしています。6つのテキストファイルがあります。各テキストファイルには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」、行24:未定義変数:プロット
私は何か間違っていますか?同じグラフに異なるファイルからの入力データをプロットすることは可能ですか?.
あなたはとても近いです!
変化する:
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がWordの "plot"をプロットするファイル名として解釈しようとしているが、 "plot"という名前の変数に文字列を割り当てていないためです(これは非常に紛らわしいです)。
この場合、ファイル名やグラフのタイトルを適切に調整すれば、gnuplotのforループが役立つことがわかります。
例えば.
filenames = "first second third fourth fifth"
plot for [file in filenames] file."dat" using 1:2 with lines
そして
filename(n) = sprintf("file_%d", n)
plot for [i=1:10] filename(i) using 1:2 with lines
replotは、複数のプロットを一度に取得する別の方法です。
plot file1.data
replot file2.data