2012-04-10 81 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