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