我正在使用d3.js与GWT结合使用,每次调用用于创建饼图的javascript代码时,它会附加一个新的代码,而不是用新值替换旧代码。
如何更改此代码,以便在添加新代码之前删除旧代码?
var svg = d3.select(".body").append("svg")
.attr("width", width)
.attr("height", height)
.append("g")
.attr("transform", "translate(" + width / 2 + "," + height / 2 + ")");
答案 0 :(得分:5)
而不是改变你的代码我会建议创建一次,然后使用你的数据构建你的图表并查看d3.js的.enter()和.exit()方法 - 所以如果你的数据更改了库会添加/删除一些元素。
干杯
答案 1 :(得分:3)
添加
d3.select(".body").selectAll("svg").remove();
在您的代码删除所有SVG元素之前。