Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从D3颜色范围返回单个值以创建图例_Javascript_Html_D3.js_Charts - Fatal编程技术网

Javascript 从D3颜色范围返回单个值以创建图例

Javascript 从D3颜色范围返回单个值以创建图例,javascript,html,d3.js,charts,Javascript,Html,D3.js,Charts,我有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

我有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文件放在那里了,现在已更正。

我想我找到了答案。如果在括号中输入一个数字,scaleQuantize()将返回一个值。然而,仅仅是像一个常规数组一样对颜色进行处理,就可以将每个颜色分别呈现给我,这些颜色可以输入到图例中


.style(“fill”,function(d,i){return d};)

您可以使用函数变量i,这些i变量遵循顺序。 比如说

.style("fill", function (d,i) {
                    return color(i);//or color.range(i);

谢谢你,我同时也想到了!显然我把它复杂化了。