一般来说,给定的数值set palette defined
不定义绝对值,而是仅用于梯度计算并映射到[0, 1]
. 这意味着例如
set palette defined (-1 "red", 0 "white", 1 "blue")
和
set palette defined (100 "red", 200 "white", 300 "blue")
是完全等价的。然后将选择的范围set cbrange
映射到这个单位区间。
因此,要仅显示 range [0.8:1]
,在完整图中都以相同的蓝色阴影显示,您可以检查并限制第三个颜色列的值:
set palette defined (-1 "red", 0 "white", 1 "blue)
ub = 1
lb = -ub
set cbrange [lb:ub]
plot 'mydata.dat' matrix using 1:2:($3 >= 0.8*ub ? $3 : 0) ind 19 with image
这会将所有值设置为低于0.8*ub
to ,并仅以蓝色0
显示上述值。0.8*up
如果您将颜色范围设置为[0.8:1]
,则值0.8
将显示为红色和1
蓝色。
因此,要仅显示范围[-1:-0.8]
,请使用
plot 'mydata.dat' matrix using 1:2:($3 <= 0.8*lb ? $3 : 0) ind 19 with image