我需要创建一个颜色地图,并且使用“with image”绘图样式可以完全满足我的需求(在位置x,y处绘制z的确切值,因此对我来说不能使用pm3d)。但问题是,我的数据文件中存在未定义的点。例如,该函数表示质量比,因此负的z值没有物理意义,我想省略它们。或者某些z值甚至是“NaN”。示例数据文件:
所以我不想在位置 (3,3) 绘制值为 -1 的图形,而是让像素点 (3,3) 保持空白。
我尝试了这个:
但它无法正常工作。它显示如下信息:
警告:像素数量无法分解为与网格匹配的整数。N = 8 K = 3
在将-1.0替换为"NaN"的情况下也不起作用。我找到的唯一替代方案是:
但是我必须手动调整每个图的点大小、x和y轴范围以及绘图大小,以避免数据点之间出现空白或重叠。(见this question。)
长话短说:是否有办法在未定义/缺失数据点的情况下使用“带图像”绘图样式,并将这些点保留为白色?
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。)
长话短说:是否有办法在未定义/缺失数据点的情况下使用“带图像”绘图样式,并将这些点保留为白色?