Animation 在gnuplot中的1命令中执行动画
我正在尝试使用gnuplot显示动画 我得到了以下脚本: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等,但它似乎没有正确定义
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上没有任何问题。。。为什么您认为它更适合超级用户?