【发布时间】:2013-01-09 13:08:47
【问题描述】:
我必须创建一个颜色图,而“带图像”的绘图风格正是我想要的。 (在 x,y 位置绘制 z 的精确值,所以使用 pm3d 对我来说不是一个选项)
问题是,我的数据文件中有未定义的点。例如,该函数表示质量比,因此负 z 值没有物理意义,我想省略它们。或者某些 z 值甚至是“NaN”。
示例数据文件:
1.0 1.0 1.5
1.0 2.0 1.7
1.0 3.0 1.9
2.0 1.0 1.6
2.0 2.0 1.8
2.0 3.0 2.0
3.0 1.0 1.7
3.0 2.0 1.9
3.0 3.0 -1.0
所以我不想在 (3,3) 位置绘制值 -1,而是将 (3,3) 处的像素留空。
我试过了:
plot './test.dat' u 1:2:($3>0 ? $3 : 1/0) with image
但它不起作用。它说:
警告:像素数不能分解为与网格匹配的整数。 N = 8 K = 3
set datafile missing "NaN"
如果 -1.0 被 "NaN" 替换也不行。
我找到的唯一选择是:
set pointsize 10
plot './test.dat' u 1:2:($3>0 ? $3 : 1/0) palette pt 5
但是我必须手动调整每个绘图的点大小、x 和 y 范围以及绘图大小,以便数据点没有空格或重叠。 (见this question。)
长话短说:有什么方法可以使用“带图像”的绘图风格来处理未定义/缺失的数据点并将这些点留白?
【问题讨论】:
标签: gnuplot