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

时间:2015-02-10 23:28:51

标签: automation gnuplot

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

plot "a.dat"

最简单的方法是什么?感谢。

2 个答案:

答案 0 :(得分:5)

使用循环制作脚本:

while (1) {
    plot "a.dat"
    pause 1      # waiting time in seconds
}

使用gnuplot script.gp执行。


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

plot "a.dat"

while (1) {
    replot
    pause 1
}

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


最后,如果你的Gnuplot太旧而它还不支持循环,那么还有其他方法:

plot "a.dat"

pause 1
reread

使用reread使脚本解释器再次跳转到文件的开头。

答案 1 :(得分:1)

如果在命令行中使用绘图命令(选项 gnuplot)而不是命令脚本文件调用 -e,则只有版本

gnuplot -e "...plot command(s)...; while (1) { pause 1; replot; }"

在我的情况下工作,另一个版本

gnuplot -e "...plot command(s)...; pause 1; reread;" 

没有。

在 Windows 10 上,我必须终止任务管理器中的 gnuplot 任务,因为如果我使用关闭窗口按钮关闭 gnuplot 窗口,该窗口会在最晚一秒后再次打开.有没有人知道如何以更舒适的方式处理这个问题?