替换d3.js图而不是每次都创建一个新图

use*_*890 0 d3.js

我将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 + ")");
Run Code Online (Sandbox Code Playgroud)

小智 5

而不是改变你的代码我建议创建它一次,然后使用你的数据构建你的图表并查看d3.js的.enter()和.exit()方法 - 所以如果你的数据改变了库将添加/删除一些元素.

干杯