2014-01-11 86 views
1

我有幾個不同的文件(aaa.dat,bbb.dat ....),有沒有辦法讓gnuplot把這些文件像DATAFILE_A = file('aaa.dat') ,DATAFILE_B = file('bbb.dat'),這樣我就可以在整個腳本中輕鬆地調用它們,並且只在腳本的開始處更改文件的名稱。gnuplot可以把一個文件作爲參數

回答

1

最方便的方法是創建一個字符串,其中包含由空格分隔的所有文件名。然後你可以遍歷這個列表:

filelist = "aaa.dat bbb.dat ccc.dat" 
plot for [file in filelist] file 

,或者,如果你想創建的每個數據文件的一個形象:

do for [file in filelist] { 
    set output file.'.png' 
    plot file 
} 

您也可以使用系統命令來選擇一些文件,創建文件列表:

filelist = system('ls *.dat') 
... 

或者通過文件列表作爲選項調用時gnuplot

gnuplot -e "filelist='aaa.dat bbb.dat ccc.dat'" script.gp 

其中script.gp包含通用繪圖命令:

do for [file in filelist] { ... } 
+0

謝謝,但我需要的文件中的信息不只是字符串文件的名稱 - 即,如果該文件包含數據的4列,我想是能夠在整個腳本中回憶x,yz,t – user3142307

+1

對不起,但我不明白你的意思。你能否擴大你的問題來澄清?如果您在多個地方需要文件名,您還可以使用例如'file = word(filelist,1)'提取一個文件名。當然,你仍然可以使用'使用'和所有這些東西來選擇不同的列。那麼,這種方法有什麼問題? – Christoph

+0

我的意思是不只是文件名,但它的內容(即0 0 11.209 0.010 250 0 11.122 0.010 ........) – user3142307

相關問題