最初使用以下输入/追加/退出/删除序列绘制一组矩形,没问题。当我传递不同的数据(意味着完全替换现有数据)时,新的矩形被绘制在现有的矩形之上。
我选择“lgnds”而不是rect,因为我画了其他我不想打扰的矩形。
var svg = d3.select("#graph").append("svg")
elements = svg
.selectAll("lgnds")
.data(data, function(d){return d;});
elements
.enter()
.append("rect")
.attr("width", 15)
.attr("height", rectHeight)
.attr("x", 5)
.attr("y", function (d,i){return ((i*rectHeight)+(gap*(i+1)));})
.style("fill", function(d){ return d.color;});
elements
.exit()
.remove();