gnuplot:在一张图中绘制来自多个input文件的数据

我试图用gnuplot来绘制graphics。我有6个文本文件。每个文本文件包含两列。第一列表示时间(秒)(这是一个浮点数)。第二个是序列号。我想绘制图表的时间与序列号在一个图中的所有六个文件。我用这个文件来做到这一点。

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行:未定义的variables:情节

我是否做错了什么。是否有可能从不同的文件input数据在同一个graph.I是新的gnuplot任何帮助表示赞赏。

你太亲近了!

更改:

 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”这个单词解释为绘图的文件名,但是你没有把任何string分配给一个名为“plot”的variables(这是很好的 – 这将是超级混淆的)。

你可能会发现gnuplot的for循环在这种情况下很有用,如果你适当地调整你的文件名或graphics标题。

例如

 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