Javascript 计算类似excel的数字数组的颜色代码
我有一个数字数组,希望计算这些数字的颜色(如#559e43):Javascript 计算类似excel的数字数组的颜色代码,javascript,Javascript,我有一个数字数组,希望计算这些数字的颜色(如#559e43): var numbers = [322.5,256.0,209.0,309.0,493.0,261.0,313.0,228.0,376.0,322.0,327.5,332.0,272.0,387.0,451.0,247.0,329.0,314.0]; 目标是使用函数getColorCode()检索数组中每个数字的颜色 var maxval = Math.max(...arr); var minval = Math.min(...ar
var numbers = [322.5,256.0,209.0,309.0,493.0,261.0,313.0,228.0,376.0,322.0,327.5,332.0,272.0,387.0,451.0,247.0,329.0,314.0];
目标是使用函数getColorCode()检索数组中每个数字的颜色
var maxval = Math.max(...arr);
var minval = Math.min(...arr);
for(var i=0;i<numbers.length;i++){
getColorCode(numbers[i], minval, maxval);
}
var maxval=Math.max(…arr);
var minval=Math.min(…arr);
对于(var i=0;i有两个部分
计算整个范围内的分布
在整个范围内插值给定百分比的颜色
如果仅使用百分比进行演示,则第1项很简单:
var min = Math.min.apply(null,numbers);
var max = Math.max.apply(null,numbers);
var numPct = numbers.map(value => ({value,pct: ((value - min) / (max - min))}))
第二个数字有点复杂,有帮助(有一些小的变化)
请注意,为了简单起见,下面使用的是百分比,excel使用的是百分比-读者的练习是相应地分发的
var percentColors=[
{pct:0.0,颜色:{r:0x00,g:0xff,b:0},
{pct:0.5,颜色:{r:0xff,g:0xff,b:0},
{pct:1.0,颜色:{r:0xff,g:0x00,b:0}}];
var getColorForPercentage=函数(pct){
对于(变量i=1;i({value,pct:((value-min)/(max-min)))
var out=document.querySelector(“输出”);
对于(var i=0;i,问题是?getColorCode()
必须知道所有数字(或至少最小值和最大值),而不仅仅是一个数字,因为生成的颜色是相对于最低值和最高值的。是否可以使用函数getColorCodes(数字)
并返回一个数字
和颜色代码
的列表?正如上面的注释所指出的,您需要知道像Excel一样执行操作的范围当然,我们需要将最小值、最大值传递给getColorCode()牙库!我认为您的输出与我得到的相同。(使用另一篇文章中的函数)