如何在gnuplot中每隔几秒自动重新绘制一个图形?

hbp*_*hbp 4 automation gnuplot

我有一个a.dat每隔几秒更新一次的数据文件.我希望每隔几秒就在gnuplot中绘制它以查看更改

plot "a.dat"
Run Code Online (Sandbox Code Playgroud)

最简单的方法是什么?谢谢.

Wrz*_*mft 8

用循环创建一个脚本:

while (1) {
    plot "a.dat"
    pause 1      # waiting time in seconds
}
Run Code Online (Sandbox Code Playgroud)

执行它gnuplot script.gp.


出于代码结构和调试的目的,您可能更喜欢以下替代方法:

plot "a.dat"

while (1) {
    replot
    pause 1
}
Run Code Online (Sandbox Code Playgroud)

这样做的好处是,您不必plot在循环中放置一个复杂的命令,并且不会出现错误消息中的plot命令的错误行号(至少在某个版本的Gnuplot中发生).


最后,如果你的Gnuplot太旧而它还不支持循环,那么还有另外一种选择:

plot "a.dat"

pause 1
reread
Run Code Online (Sandbox Code Playgroud)

随着reread再次使脚本解释器跳转到文件的开头.