0

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

plot   ”heat1d.txt ”  using   1:2   every   :::a::a 
pause   0.01
a=a+1
if ( a<b )   reread

我执行使用

a = 0
b = 100
load "a.plot"

它可以工作,但是有没有办法只使用 shell 中的 1 个命令来执行所有这些操作?或者有没有办法将变量定义集成到 .plot 文件中,以便我可以简单地执行它?我尝试了不同的东西,比如echo 'a=0'|gnuplotetc,但它似乎并没有真正正确地定义变量

谢谢

4

2 回答 2

3

您可以使用 do for 循环。

do for [a = 0:100] {
  plot   ”heat1d.txt ”  using   1:2   every   :::a::a 
  pause   0.01
}

Linux 上的默认终端通常是wxt,并且它具有raise选项,它将在每次迭代时将焦点更改为绘图窗口。如果不是不可能,这将使停止动画变得困难。

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

set term wxt noraise

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

于 2013-06-19T08:39:23.977 回答
0

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

#script test.gp
print foo,bar

然后你可以使用 gnuplot 运行它:

gnuplot -e "foo=1;bar=2" test.gp

在您的情况下,您可以通过以下方式调用脚本来完成几乎您想要的操作:

gnuplot -e "a=0;b=100" a.plot
于 2013-02-11T00:16:38.657 回答