假设我在gnuplot 4.6.2中有以下图:
使用最低生产率的例子
set xrange [-2:10];
set yrange [-2:10];
set size ratio -1
set pm3d map
set palette defined (-20 "#0060ad", 0 "#ffffff", 100 "#dd181f" )
set cbrange [-20:100]
splot x*y
然而,这并不完全是我想要的。我实际上希望-20的值与+20具有相同的强度。
我尝试了两件事,如下所示。
如果我将-20
中的palette
和cbrange
更改为-100
,我会看到左边的数字。这基本上就是我想要的图表。但是,如果我将cbrange
设置为[-20:100]
,同时将调色板保持在-100
,我会得到右边的数字。这不是我想要的,我希望颜色框从-20
开始。我怎样才能做到这一点?
答案 0 :(得分:1)
因此,据我所知,你想要定义-100,0和+100的颜色,但只使用-20和+100之间的部分。
目前我没有看到任何其他选项,只能手动在深蓝色-100和白色0之间进行线性插值以获得淡蓝色,在您的情况下为#ccdfef
:
red = int(255*0.8) = 0xcc
green = int(0x60 + (0xff-0x60)*0.8) = 0xdf
blue = int(0xad + (0xff - 0xad)*0.8) = 0xee
问题是,给set palette defined
的数值不是绝对值,而是始终映射整个cbrange的相对值。
set xrange [-2:10]
set yrange [-2:10]
set size ratio -1
set pm3d map
set palette defined (-20 "#ccdfef", 0 "#ffffff", 100 "#dd181f" )
set cbrange [-20:100]
set isosamples 100
splot x*y notitle