更新函数后d3js中的奇怪文本行为

时间:2017-04-27 10:57:14

标签: javascript d3.js

在您更新图表后的Plunkr中,显示的百分比完全错误。 然而,更新前显示的百分比是正确的,我不知道为什么会这样。

这部分代码的行为不符合预期。

label.transition()
    .duration(750)
    .text(function(d) { 
        return textFormat(100/(d.data.total/d.data["apples" + CAT]))+'%'});

感谢任何帮助!

1 个答案:

答案 0 :(得分:2)

您只需为d.total类别计算one。在您的更新功能中,您需要重新运行:

data.forEach(function(d) {
  d.total = d3.sum(data, function(d) { return d3.sum([d["apples" + CAT]]); });
});