我有一个数据文件a.dat
,每隔几秒钟就会更新。我希望每隔几秒钟在gnuplot中绘制它,以查看更改。
plot "a.dat"
什么是最简单的方法呢?谢谢。
我有一个数据文件a.dat
,每隔几秒钟就会更新。我希望每隔几秒钟在gnuplot中绘制它,以查看更改。
plot "a.dat"
用循环来制作脚本:
while (1) {
plot "a.dat"
pause 1 # waiting time in seconds
}
使用gnuplot script.gp
来执行它。
出于代码结构和调试的目的,你可能更喜欢以下替代方案:
plot "a.dat"
while (1) {
replot
pause 1
}
这样的好处是您不需要在循环内部放置一个复杂的plot
命令,并且不会因为出现错误消息而导致绘图命令的行号不正确(在至少某些Gnuplot版本中会发生这种情况)。
最后,如果您的Gnuplot太旧而不支持循环,则有另一种选择:
plot "a.dat"
pause 1
reread
使用 reread
会使脚本解释器跳回到文件开头。
-e
而不是命令脚本文件来调用gnuplot
,则只能使用当前版本的绘图功能。gnuplot -e "...plot command(s)...; while (1) { pause 1; replot; }"
在我的情况下起作用,另一个版本
gnuplot -e "...plot command(s)...; pause 1; reread;"
在 Windows 10 上,我必须在任务管理器中终止 gnuplot
任务,因为如果我使用关闭窗口按钮关闭 gnuplot
窗口,该窗口会在一秒钟内再次打开。是否有任何更方便的方法来处理这个问题呢?