Gnuplot下采样和gnuplot中的平均3d图与NaN

时间:2014-09-10 03:08:49

标签: 3d gnuplot nan

我正在使用 splot“testdata.txt”非均匀矩阵

data.txt在某些地方稀疏而在其他地方密集。我想平均密集值以减少图中的噪声。显而易见的方法是

设置dgrid3d

但是,当文件包含“NaN”时,似乎没有任何内容被绘制。

set zrange [0:4]
splot "testdata.txt" nonuniform matrix
set dgrid3d
splot "testdata.txt" nonuniform matrix

示例数据:

4 1 2 3
1 0 1 2
2 1 2 3
3 2 3 NaN

如何实现下采样?

2 个答案:

答案 0 :(得分:1)

过滤掉" NaN" Bernhard建议的值是它还删除了" NaN"的同一行中的所有数据。值。如果您可以不使用该数据,那么这是一种继续进行的方式。如果你想保留这些数据,那么我建议你改变" NaN"根据一个非常具体的数字,你不会期望会出现并使用它来告诉gnuplot忽略那些使用1/0选项的条件图:

splot "< sed 's/NaN/12345/g' testdata.txt" nonuniform matrix \
u 1:2:($3 == 12345 ? 1/0 : $3)

enter image description here

答案 1 :(得分:0)

至少使用gnuplot 4.6.3 NaN自动设置为零。使用脚本

set dgrid3d
set ticslevel 0
splot 'testdata.txt' nonuniform matrix w l notitle

给出(用4.6.3):

enter image description here

如果将NaN值设置为零的猜测对您来说是错误的,则应使用非网格数据格式

<x0> <y0> <z0>
<x1> <y1> <z1>
etc.

因为您无论如何都在使用dgrid3d来创建网格化数据。然后你也可以使用Bernhard的解决方案过滤出NaN值。