如何根据d3.js中的值数组将颜色传递到仪表图表?

时间:2017-08-16 07:34:31

标签: d3.js

如何根据d3.js中的值数组将颜色传递到仪表图表?

这是我所提到的链接,我想根据动态数组值将不同颜色传递给弧:

http://bl.ocks.org/msqr/3202712

2 个答案:

答案 0 :(得分:0)

在您的示例中,颜色在render函数

中设置
 .attr('fill', function(d, i) {
    return config.arcColorFn(d * i);
 })

如果要使用颜色数组,则应更改此功能:

var colors = ['blue', 'red', 'orange', 'yellow', 'black'];

...
// in the render function
.attr('fill', function(d, i) {
    return colors[i]
})

答案 1 :(得分:0)

根据您的评论,看起来您正在寻找d3的scaleThreshold比例。

它将连续域映射到谨慎范围。范围的长度必须是域的长度+ 1.域是一系列阈值,所以你有

var colorScale = d3.scaleThreshold()
    .domain([8.5, 9.5])
    .range(["blue", "red", "orange"]);

现在colorScale(0)bluecolorScale(9)redcolorScale(9.7)orange