2013-02-09 45 views
0

我試圖表明使用的gnuplot 我得到了下面的腳本動畫做動畫在1個命令:在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中的一個命令執行所有這些操作? 或者,有沒有辦法將變量定義集成到.plot文件中,以便我可以簡單地執行它?我嘗試不同的東西像echo 'a=0'|gnuplot等,但它似乎並沒有真正定義變量正確

感謝

+0

此問題可能更適合超級用戶。 – 2013-02-09 23:32:42

+0

@frb:好的,無論如何,我可以手動移動這個問題嗎? – lezebulon 2013-02-09 23:34:39

+1

@frb - 我在stackoverflow上看不到任何問題...爲什麼你認爲它會更適合SuperUser? – mgilson 2013-02-11 00:18:09

回答

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 
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 

現在,如果你想停止動畫中途,按Ctrl鍵ç的gnuplot的終端上。