d3数据更改时更新条形图

时间:2014-04-09 14:51:13

标签: javascript d3.js

我是d3的新手,我希望在数据更改时更新我的​​条形图。我的d3功能的一部分是

var control = svg.selectAll(".control")
       .data(data)
       .enter().append("g")
       .attr("class", "g")
       .attr("transform", function(d) { return "translate(" + x0(d.Control) + ",0)"; });

       control.selectAll("rect")
       .data(function(d) { return d.category; })
       .enter().append("rect")
       .attr("width", x1.rangeBand())
       .attr("x", function(d) { return x1(d.name); })
       .attr("height", 0)
       .attr("y", height)
       .on('mouseover', tip.show)
       .on('mouseout', tip.hide)
       .style("fill", function(d) { return color(d.name); });

       control.selectAll("rect")
              .transition()
              .delay(function(d, i) { return i * 100; })
              .duration(1000)
              .attr("height", function(d, i) { if(columnNum == 2 && i == 2) return height - y1(d.value); else return height - y0(d.value); })
              .attr("y", function(d, i) { if(columnNum == 2 && i == 2) return y1(d.value); else return y0(d.value); });

我可以看到该图读取更新的数据,因为它显示了更新数据的工具提示,但条形图并未反映这些更改(例如100更新为50的条形图,我将有2个工具提示但原始酒吧还是填100?)

有关如何更新/添加新/删除栏的任何想法?感谢。

0 个答案:

没有答案