Animation 在gnuplot中的1命令中执行动画

Animation 在gnuplot中的1命令中执行动画,animation,gnuplot,Animation,Gnuplot,我正在尝试使用gnuplot显示动画 我得到了以下脚本: plot ”heat1d.txt ” using 1:2 every :::a::a pause 0.01 a=a+1 if ( a<b ) reread 它可以工作,但是有没有一种方法可以只使用shell中的一个命令来执行所有这些操作? 或者,有没有一种方法可以将变量定义集成到.plot文件中,这样我就可以简单地执行它?我尝试了不同的方法,如echo'a=0'| gnuplot等,但它似乎没有正确定义

我正在尝试使用gnuplot显示动画 我得到了以下脚本:

plot   ”heat1d.txt ”  using   1:2   every   :::a::a 
pause   0.01
a=a+1
if ( a<b )   reread
它可以工作,但是有没有一种方法可以只使用shell中的一个命令来执行所有这些操作? 或者,有没有一种方法可以将变量定义集成到.plot文件中,这样我就可以简单地执行它?我尝试了不同的方法,如
echo'a=0'| gnuplot
等,但它似乎没有正确定义变量


谢谢

您可以将
-e
作为命令行参数传递。例如,如果您有脚本:

#script test.gp
print foo,bar
set term wxt noraise
然后您可以使用gnuplot运行它,使用:

gnuplot -e "foo=1;bar=2" test.gp
在您的情况下,似乎可以通过以下方式调用脚本来完成您想要的任务:

gnuplot -e "a=0;b=100" a.plot

您可以将
-e
作为命令行参数传递。例如,如果您有脚本:

#script test.gp
print foo,bar
set term wxt noraise
然后您可以使用gnuplot运行它,使用:

gnuplot -e "foo=1;bar=2" test.gp
在您的情况下,似乎可以通过以下方式调用脚本来完成您想要的任务:

gnuplot -e "a=0;b=100" a.plot

您可以使用do for循环

do for [a = 0:100] {
  plot   ”heat1d.txt ”  using   1:2   every   :::a::a 
  pause   0.01
}
linux上的默认终端通常是
wxt
,它具有
raise
选项,在每次迭代时将焦点更改为绘图窗口。这将使停止动画变得很困难,如果不是不可能的话

我建议把
noraise
作为终端选项。例如,您可以将以下行放在脚本的开头:

#script test.gp
print foo,bar
set term wxt noraise

现在,如果您想中途停止动画,请按gnuplot终端上的CtrlC。

您可以使用do for循环

do for [a = 0:100] {
  plot   ”heat1d.txt ”  using   1:2   every   :::a::a 
  pause   0.01
}
linux上的默认终端通常是
wxt
,它具有
raise
选项,在每次迭代时将焦点更改为绘图窗口。这将使停止动画变得很困难,如果不是不可能的话

我建议把
noraise
作为终端选项。例如,您可以将以下行放在脚本的开头:

#script test.gp
print foo,bar
set term wxt noraise

现在,如果您想中途停止动画,请在gnuplot终端上按CtrlC。

这个问题可能更适合超级用户。@frb:好的,我可以手动移动这个问题吗?@frb--我在stackoverflow上看不出有任何问题。。。为什么你认为它更适合超级用户?这个问题可能更适合超级用户。@frb:好的,我可以手动移动这个问题吗?@frb--我看stackoverflow上没有任何问题。。。为什么您认为它更适合超级用户?