如何将此热图的渐变背景更改为白色而不是黑色

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 是否符合您的需求!

http://jsfiddle.net/2hvLkf35/14/