2017-04-26 81 views
0

我有一個三列數據文件,經過一些模擬後從python腳本生成。它在前兩列中有兩個參數,而在第三列中有一個函數的值。我讀到數據列應該以特定格式輸入到gnuplot中的pm3d中。有沒有將數據文件格式化爲pm3d格式的快捷方式? (每次更改x值後的空白行)。雖然我的數據點間距均勻,但數據全部混在一起,所以我發現格式化有點困難。請幫忙。在gnuplot中格式化數據文件作爲pm3d映射

實例文件

1 2 3 
2 6 5 
1 1 8 
2 5 3 

(原始文件具有> 40000線)

回答

1

實際上,隨着Gnuplot FAQ提到在3.9,在x座標的每一個變化之後,人們需要一種空行。它甚至推薦一個gawk腳本來執行這個「轉換」。如果您的數據如您所說混淆了,則可能需要先對其進行排序,然後應用所提到的腳本。

假設GAWK腳本addblanks.awk包含:

/^[[:blank:]]*#/ {next} # ignore comments (lines starting with #) 
NF < 3 {next} # ignore lines which don't have at least 3 columns 
$1 != prev {printf "\n"; prev=$1} # print blank line 
{print} # print the line 

和數據文件是,例如,input.dat,然後

sort -k1,1g -k2,2g input.dat | gawk -f addblanks.awk 

產生

1 1 8 
1 2 3 

2 5 3 
2 6 5