Gnuplot:绘制矩阵时从数据文件中跳过点

时间:2018-10-26 14:07:28

标签: matrix gnuplot

我有一个包含数字矩阵的数据文件,该文件的格式类似于此:

nan  nan  nan  nan
0.5  nan  nan  nan
0.1  1.3  nan  nan
3.5  0.1  0.8  nan

我想绘制此矩阵,但是从图中跳过某些点,我们假设值为1.3,因此在图中看起来好像值是nan

我看过一些帖子,这些帖子显示了如何跳过行或列,例如this one,或者如何使用热图(this one)来完成我想做的事情,但这需要使用不同的数据形式文件,如果我理解正确的话。

使用矩阵图也可以做到这一点,即

plot "datafile.dat" matrix w image 

还是我必须重新格式化我的数据文件?

有一点背景知识;数据文件包含与外部场相互作用后原子的状态种群,我想从图中排除相互作用之前最初填充的状态。

1 个答案:

答案 0 :(得分:0)

也可以在using模式下用matrix修改数据。第1列和第2列将包含索引,第3列将包含矩阵元素的值。参见help matrix examples。因此,您可以这样做:

plot "/tmp/f" matrix u 1:2:((abs($3-1.3)<1e-5)?1/0:$3) w image

我不确定为什么,但是第3列包含原始数据的浮点表示形式,但该浮点表示形式与原始输入并不完全相同:因此abs