2012-04-10 71 views
2

我有兩個文件file1.datfile2.dat,每個文件包含尺寸一致(即它們都是m x n矩陣)的矩陣(分別爲F1和F2)。我知道如何使用的gnuplot繪製要麼他們(splot "file1.dat" matrix爲例),但我怎麼指導gnuplot的繪製F1-F2?Gnuplot:繪製兩個矩陣之間的差異

回答

1

不幸的是,(據我所知)沒有辦法繪製使用gnuplot的多個文件的信息。解決的辦法是寫一個簡單的腳本(在你最喜歡的語言),其採用兩個文件作爲輸入,並寫入差值作爲輸出......然後,你可以這樣做:

splot "<myscript file1.dat file2.dat" matrix ... 

我敢肯定,只要有足夠的哄騙使用set table和外殼的魔法,我能想出一個黑客做你想做什麼(有gnuplot的輸出多個數據文件中,發出shell命令數據文件粘貼到一起......),但最終,編寫自己的腳本會更清潔的解決方案。

1

下面是一個使用位的gnuplot AWK的工作示例。

set terminal postscript enhanced colour 
set output 'matrixdiff.eps' 

unset key 
splot "<awk 'NR==FNR{for(i=1;i<=NF;++i)a[FNR,i]=$i;next}{for(i=1;i<=NF;++i)$i=a[FNR,i]-$i;print}' mat1 mat2" matrix 

mat1mat2是要繪製的矩陣文件。 awk腳本是從here