我希望能够使用gnuplot绘制数据'实时'。具体来说,例如,我有一个文件“foo.st”,它是一个数据文件,由列分隔。 “foo.st”中的数据是从实时变量中实时收集的,我希望打开gnuplot并将“foo.st”中的数据绘制为连续记录数据。理想情况下,我希望绘图显示“1秒”绘图,然后刷新显示下一个“1秒”数据,然后刷新再次显示下一个“1秒”数据...现在,我有一个gnuplot脚本“ foo.p“其中包含:
set autoscale
set xtic auto
set ytic auto
set title "Leg Position"
set xlabel "Time (sec)"
set ylabel "Position"
plot "foo.st" u 1:2,'' u 1:3,'' u 1:4,'' u 1:5,'' u 1:6,'' u 1:7
pause 1
replot
set xrange [1:2]
replot
pause 1
set xrange [2:3]
replot
pause 1
set xrange [3:4]
replot
...
等我不得不重新定义xrange以显示1秒数据帧,然后运行replot命令。
任何人都可以提供任何其他建议去做这个?
gnuplot 4.6 intruduced loops(while () {..}
,do for [] {..}
)。
如果你不能升级:
if !exists("t") t=0
dt=1
set xr [t:t+dt]
plot "data"
pause 1
t=t+1
reread
但我建议使用while
循环。