Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 根据值在气泡图上设置气泡颜色_Javascript - Fatal编程技术网

Javascript 根据值在气泡图上设置气泡颜色

Javascript 根据值在气泡图上设置气泡颜色,javascript,Javascript,我必须根据数组中的数字在气泡图上设置每个气泡的颜色。我只知道: 如果该值等于3,则颜色必须为“#a68500” 如果该值等于0,则颜色必须为“#fff79b” 因此,如果数组中的一个元素的值为“2.5”,我必须找到一种颜色,在色阶中表示该数字 我使用的是dojox.charting,但我不知道如何创建一个基于值返回颜色的函数 任何想法都会有帮助 因此,我认为您需要在数值rgb值的基础上进行一些基于百分比的数学运算。如果您有rgb到十六进制函数可用,请利用它们,如果没有: var r,g,b,

我必须根据数组中的数字在气泡图上设置每个气泡的颜色。我只知道:

  • 如果该值等于3,则颜色必须为“#a68500”
  • 如果该值等于0,则颜色必须为“#fff79b”
因此,如果数组中的一个元素的值为“2.5”,我必须找到一种颜色,在色阶中表示该数字

我使用的是dojox.charting,但我不知道如何创建一个基于值返回颜色的函数


任何想法都会有帮助

因此,我认为您需要在数值rgb值的基础上进行一些基于百分比的数学运算。如果您有rgb到十六进制函数可用,请利用它们,如果没有:

var r,g,b,rgb = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i.exec(color);

if( rgb.length == 5 ) { //argb hex format
    r = parseInt(rgb[2], 16);
    g = parseInt(rgb[3], 16);
    b = parseInt(rgb[4], 16);
    }
else {
    r = parseInt(rgb[1], 16);
    g = parseInt(rgb[2], 16);
    b = parseInt(rgb[3], 16);
}
所以对于r:0是ff,3是a6,你将转换成0:255和3:166,这将把2.5放在~181
回到Hex To将执行
181.toString(16)

所以在这里,我想你需要做一些基于数值rgb值的百分比数学。如果您有rgb到十六进制函数可用,请利用它们,如果没有:

var r,g,b,rgb = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i.exec(color);

if( rgb.length == 5 ) { //argb hex format
    r = parseInt(rgb[2], 16);
    g = parseInt(rgb[3], 16);
    b = parseInt(rgb[4], 16);
    }
else {
    r = parseInt(rgb[1], 16);
    g = parseInt(rgb[2], 16);
    b = parseInt(rgb[3], 16);
}
所以对于r:0是ff,3是a6,你将转换成0:255和3:166,这将把2.5放在~181 回到Hex To将执行
181.toString(16)

使用类似于
getInterpolation(2.5,0,3,0xff,0xa6)的方法。如果在循环中经常使用此选项,则可以将“最小值”和“最大值”更改为某些常量值

使用类似于
getInterpolation(2.5,0,3,0xff,0xa6)的方法。如果在循环中经常使用此选项,则可以将“最小值”和“最大值”更改为某些常量值