我正在使用 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
如何实现下采样?
答案 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)
答案 1 :(得分:0)
至少使用gnuplot 4.6.3 NaN
自动设置为零。使用脚本
set dgrid3d
set ticslevel 0
splot 'testdata.txt' nonuniform matrix w l notitle
给出(用4.6.3):
如果将NaN值设置为零的猜测对您来说是错误的,则应使用非网格数据格式
<x0> <y0> <z0>
<x1> <y1> <z1>
etc.
因为您无论如何都在使用dgrid3d
来创建网格化数据。然后你也可以使用Bernhard的解决方案过滤出NaN值。