D3饼图仅以一种颜色呈现

时间:2020-07-07 03:26:25

标签: javascript d3.js charts pie-chart

我正在使用D3库构建饼图。除颜色外,其他一切都进行顺利。数据以普通对象格式存储。

我将颜色变量定义为:

    var color = d3.scaleOrdinal()
            .range(d3.schemeCategory10);

我的回车选择绑定代码是:

        var g = svg.selectAll("path")
              .data(pieArcs, keyField)
              .style("fill", function(d) { return color(d.data.key); });

        var g2 = g
            .enter()
            .append("path")
            .each(function(d) { this.dPrevious = d; })
            .style("fill", function(d) { return color(d.data.key); })
            .attr('fill', d => color(d.data.key))

改变了每个方面,检查了所有D3饼图示例,到达了互联网的底部,但只有这样做(其他所有方法都可以正常工作):

pie chart

我需要做的是用不同的颜色区分每个弧。

1 个答案:

答案 0 :(得分:0)

正如@adelriosantiago指出d.data.key无效。我终于用attr

给饼图上色了
.attr("fill", d => color(keyFieldFunction(d.data)));

在代码中将keyFieldFunction定义为:

var GUPkeyField = function(d){return d.data.key};

colored pie chart