答案 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)
→blue
,colorScale(9)
→red
和colorScale(9.7)
→orange
。