我正在尝试使用JavaScript(D3.js)创建一个图,每隔一秒钟我就会有一个带有标签的新输入点,该标签是从给定间隔中随机选择的一个浮点数。
我需要用一种给定的颜色来表示此标签(浮动),以便获得带有渐变颜色的点,例如:
到目前为止,我已经尝试过了,但是没有给出预期的结果。
function float2color( label ) {
var r = 255 - ( label / 8 * 255 | 0 );
g = label / 8 * 255 | 0;
return '#' +
( r ? ( r = r.toString(16), r.length == 2 ? r : '0' + r ) : '00' ) +
( g ? ( g = g.toString(16), g.length == 2 ? g : '0' + g ) : '00' ) + '00'
}
结果(不好))
听起来您想要的是线性色标。这将替换您的float2color函数。
var color = d3.scale.linear()
.domain([min, max])
.range(['blue', 'yellow']);
然后要从浮动中实际获取颜色,
color(float_value);
请注意,'blue'
并且'yellow'
也可以作为十六进制表示形式给出。参见https://github.com/mbostock/d3/wiki/Quantitative-Scales#linear-scales
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句