我有一个数据文件
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
使脚本解释器再次跳转到文件开头。
如果在命令行中使用绘图命令(选项
gnuplot
)而不是命令脚本文件调用-e
,则仅调用版本
gnuplot -e "...plot command(s)...; while (1) { pause 1; replot; }"
适用于我的情况,其他版本
gnuplot -e "...plot command(s)...; pause 1; reread;"
没有。
在 Windows 10 上,我必须在任务管理器中终止
gnuplot
任务,因为如果我使用关闭窗口按钮关闭 gnuplot
窗口,该窗口会在最晚一秒后再次打开。有人知道如何以更舒适的方式处理这个问题吗?
已接受的解决方案,即带有循环的脚本,在 Ubuntu 计算机上适用于我。为了解决 mjavu 提出的问题,即需要一个干净的方法来停止脚本和关联任务的运行,终端窗口中的 Ctrl-C 可以正常工作。