Javascript 根据值在气泡图上设置气泡颜色
我必须根据数组中的数字在气泡图上设置每个气泡的颜色。我只知道:Javascript 根据值在气泡图上设置气泡颜色,javascript,Javascript,我必须根据数组中的数字在气泡图上设置每个气泡的颜色。我只知道: 如果该值等于3,则颜色必须为“#a68500” 如果该值等于0,则颜色必须为“#fff79b” 因此,如果数组中的一个元素的值为“2.5”,我必须找到一种颜色,在色阶中表示该数字 我使用的是dojox.charting,但我不知道如何创建一个基于值返回颜色的函数 任何想法都会有帮助 因此,我认为您需要在数值rgb值的基础上进行一些基于百分比的数学运算。如果您有rgb到十六进制函数可用,请利用它们,如果没有: var r,g,b,
- 如果该值等于3,则颜色必须为“#a68500”
- 如果该值等于0,则颜色必须为“#fff79b”
任何想法都会有帮助 因此,我认为您需要在数值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)的方法每个RGB组件的代码>。如果在循环中经常使用此选项,则可以将“最小值”和“最大值”更改为某些常量值
使用类似于getInterpolation(2.5,0,3,0xff,0xa6)的方法每个RGB组件的代码>。如果在循环中经常使用此选项,则可以将“最小值”和“最大值”更改为某些常量值