2013-07-18 70 views
3

我使用的gnuplot繪製了許多列的文件:gnuplot的操作,而迭代

plot for [i=2:119] "./file.dat" using 1:i w l lt 9 

它工作正常,但我不能爲了打印線轉移到編輯。 我想打印本,其中N是一個偏移值

plot for [i=2:119] "./file.dat" using 1:$i+N w l lt 9 

,但我收到錯誤(與^在$):

gnuplot> plot for [i=2:119] "./file.dat" using 1:$i+1 w l lt 9 
    "./file.plt", line 182: Column number expected 

一個解決方法是使用AWK,但在這種情況下,我有一些錯誤。

回答

1

我發現記住如何對存儲爲變量的列號進行操作,或者甚至有可能會遇到棘手的問題。有兩種解決方法,但:

1)更改範圍

plot for [i=(2+N):(119+N)] "./file.dat" using 1:i ... 

2)使用一箇中間變量

do for [i=2:119] { 
    ii = i + N 
    plot "./file.dat" using 1:ii ... 
} 
3

要保持最接近您當前的腳本,你可以按如下做

plot for [i=2:119] "./file.dat" using 1:(column(i+N)) w l lt 9 

我希望這是不言自明的,但gnuplot help using提供了一些關於column()