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

替换d3.js图,而不是每次都创建一个新图,d3.js,D3.js,我将d3.js与GWT结合使用,每次调用用于创建饼图的javascript代码时,它都会附加一个新的饼图,而不是用新值替换旧的饼图 如何更改此代码,以便在追加新代码之前删除旧代码 var svg = d3.select(".body").append("svg") .attr("width", width) .attr("height", height) .append("g") .attr("trans

我将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 + ")");
加上

d3.select(".body").selectAll("svg").remove();

在编写代码之前,请删除所有SVG元素。

我建议先创建一次代码,然后使用数据构建图表,并查看d3.js的.enter()和.exit()方法,这样,如果数据发生更改,库将添加/删除一些元素

干杯