我有5种颜色的代码:
var color = d3.scaleQuantize()
.range([
'rgb(237,248,233)',
'rgb(186,228,179)',
'rgb(116,196,118)',
'rgb(49,163,84)',
'rgb(0,109,44)'
]);
我想获取这些值中的每个值,以便为图例着色。
我正在尝试类似的操作,但是它不起作用:
.style('fill', function (d, i) {
return color.range([0]);
});
如何引用颜色范围内的每个项目,以便可以用这种方式为图例着色?
谢谢!
编辑:抱歉,我把用来测试代码的console.log文件留在那里,现在已更正。
答案 0 :(得分:1)
您可以使用i的函数变量,这些i变量遵循顺序。 例如
.style("fill", function (d,i) {
return color(i);//or color.range(i);
答案 1 :(得分:0)
我想我明白了。如果在括号中输入数字,则d3.scaleQuantize()将返回一个值。但是,只是像常规阵列那样进行颜色处理就可以分别给我每种颜色,可以将其输入到图例中。
.style("fill", function (d, i) {return d};)