JavaScript,一种在绘图中将浮点表示为颜色的好方法

时间:2015-08-19 14:25:48

标签: javascript html css d3.js colors

我正在尝试使用JavaScript(D3.js)创建一个情节。在每一秒我都有一个带标签的新命名点,这个标签是从给定间隔中随机选择的一个浮点数。

我需要用一个给定的颜色来表示这个标签(浮点数)所以我得到了渐变颜色的点,类似

enter image description here

到目前为止,我已经尝试了这个,但它没有给出预期的结果。

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'
    }

结果(不好))

enter image description here

1 个答案:

答案 0 :(得分:0)

听起来你想要的是线性色标。这将取代你的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