如何将此热图的渐变背景更改为白色而不是黑色
How do I change the gradient of this heat map for the background to be white instead of black
我想在我的地块上制作一个热图图层,我有一个白色背景而不是黑色背景,所以给定的渐变渐变为黑色。我想保持相同的 "direction" 以便红色是 "hottest" 等但不是黑色作为最小颜色,我希望它是白色所以它看起来适合我的原始情节。这是我的 fiddle:
http://jsfiddle.net/davidreed0/2hvLkf35/9/
我在这里将背景从黑色改为白色:
defaultColor = this.bgcolor || [0, 0, 0, 0];
但我无法弄清楚实际计算梯度的位置。
在你的 fiddle 玩了一会儿之后,我想我发现了计算梯度的地方。
它使用HSL编码来表示颜色。关键是这里的光度。随着值的下降,亮度也会下降。 HSL 定义色调的色调和饱和度,其中亮度定义亮度。亮度为 0 将是黑色,只是你的情况。
所以调整例程:
HeatCanvas.defaultValue2Color = function(value) {
var h = (1 - value );
// now we make luminosity inversely proportional
var l = 1 - value * 0.6;
var s = 0.8;
var a = 1;
return [h, s, l, a];
}
有效地淡化为白色。
您可能需要调整这些常量(0.6 和 0.8)以获得更好的结果。查看更新后的 fiddle 是否符合您的需求!
我想在我的地块上制作一个热图图层,我有一个白色背景而不是黑色背景,所以给定的渐变渐变为黑色。我想保持相同的 "direction" 以便红色是 "hottest" 等但不是黑色作为最小颜色,我希望它是白色所以它看起来适合我的原始情节。这是我的 fiddle: http://jsfiddle.net/davidreed0/2hvLkf35/9/
我在这里将背景从黑色改为白色:
defaultColor = this.bgcolor || [0, 0, 0, 0];
但我无法弄清楚实际计算梯度的位置。
在你的 fiddle 玩了一会儿之后,我想我发现了计算梯度的地方。
它使用HSL编码来表示颜色。关键是这里的光度。随着值的下降,亮度也会下降。 HSL 定义色调的色调和饱和度,其中亮度定义亮度。亮度为 0 将是黑色,只是你的情况。
所以调整例程:
HeatCanvas.defaultValue2Color = function(value) {
var h = (1 - value );
// now we make luminosity inversely proportional
var l = 1 - value * 0.6;
var s = 0.8;
var a = 1;
return [h, s, l, a];
}
有效地淡化为白色。
您可能需要调整这些常量(0.6 和 0.8)以获得更好的结果。查看更新后的 fiddle 是否符合您的需求!