2013-04-14 52 views
0

我使用d3.js與GWT結合,並且每次創建餅圖的JavaScript代碼被調用時都會附加一個新代碼,而不是替換舊的代碼具有新的價值。取代d3.js圖,而不是每次都創建一個新的圖

如何更改此代碼,以便在添加新代碼之前刪除舊代碼?

var svg = d3.select(".body").append("svg") 
      .attr("width", width) 
      .attr("height", height) 
      .append("g") 
      .attr("transform", "translate(" + width/2 + "," + height/2 + ")"); 

回答

3

代碼之前只需添加

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

刪除所有SVG元素。

5

而不是改變你的代碼我會建議創建一次,然後使用你的數據建立你的圖,並看看d3.js的.enter()和.exit()方法 - 所以如果你的數據改變了庫會添加/刪除一些元素。

乾杯

相關問題