d3 enter()update()exit()不更新图表

时间:2019-02-15 03:31:24

标签: d3.js

我可以通过选择和更新各个属性来更新图表,但不能通过输入,更新和退出来进行更新。

此代码似乎可以正常工作:

        var chart = d3.select(svg).select("svg");

        chart.selectAll("rect").data(data)
            .attr("x", function(d, i) { 
                return i*bar_width; 
            })
            .attr("y", function(d) { 
                return height - Math.abs(y(d) / 2) - height / 2 + 2;
             })
            .attr("height", function(d) {
                 return Math.abs(y(d));
            })
            .attr("width", bar_width);

但是,以下代码(在我使用Enter,Update,Exit的地方)不起作用:

        var chart = d3.select(svg).select("svg");

        chart.selectAll("rect").data(data)
            .enter().append("rect")                 //Enter
            .attr("x", function(d, i) {             //Update
                return i*bar_width; 
            })
            .attr("y", function(d) { 
                return height - Math.abs(y(d) / 2) - height / 2 + 2;
             })
            .attr("height", function(d) {
                 return Math.abs(y(d));
            })
            .attr("width", bar_width);                  

        chart.selectAll("rect").exit().remove();     //Remove

我想知道为什么吗?仅供参考:我正在使用d3 v5。

0 个答案:

没有答案