如何在 gnuplot 中每隔几秒自动重新绘制一次图形?
How to automatically replot a graph every few seconds in gnuplot?
我有一个每隔几秒更新一次的数据文件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
命令,并且不会在错误消息中遇到 plot 命令不正确的行号(至少在某些版本中会发生) Gnuplot)。
最后,如果你的 Gnuplot 太旧以至于它还不支持循环,还有一个选择:
plot "a.dat"
pause 1
reread
使用 reread
使脚本解释器再次跳转到文件的开头。
如果 gnuplot
在命令行(选项 -e
)中使用 plot 命令而不是命令脚本文件调用,则只有版本
gnuplot -e "...plot command(s)...; while (1) { pause 1; replot; }"
适用于我的情况,其他版本
gnuplot -e "...plot command(s)...; pause 1; reread;"
没有。
在 windows 10,我必须在任务管理器中终止 gnuplot
任务,因为如果我用 close-[= 关闭 gnuplot
window 25=]-按钮,window 最晚一秒后再次打开。有没有人知道如何以更舒适的方式处理这个问题?
我有一个每隔几秒更新一次的数据文件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
命令,并且不会在错误消息中遇到 plot 命令不正确的行号(至少在某些版本中会发生) Gnuplot)。
最后,如果你的 Gnuplot 太旧以至于它还不支持循环,还有一个选择:
plot "a.dat"
pause 1
reread
使用 reread
使脚本解释器再次跳转到文件的开头。
如果 gnuplot
在命令行(选项 -e
)中使用 plot 命令而不是命令脚本文件调用,则只有版本
gnuplot -e "...plot command(s)...; while (1) { pause 1; replot; }"
适用于我的情况,其他版本
gnuplot -e "...plot command(s)...; pause 1; reread;"
没有。
在 windows 10,我必须在任务管理器中终止 gnuplot
任务,因为如果我用 close-[= 关闭 gnuplot
window 25=]-按钮,window 最晚一秒后再次打开。有没有人知道如何以更舒适的方式处理这个问题?