1
我正在使用這個jsfiddle。我期望發生的是在timeout
等待一秒之後,它以新的尺寸調用功能buildPieChart()
。我想爲什麼我的餅圖不會更新爲新的尺寸?
path.exit()
.remove();
應該刪除舊的餅圖和
path.enter()
.append("path")
應該把新的餅圖中它的位置。
爲什麼我的新餅圖不顯示?
我正在使用這個jsfiddle。我期望發生的是在timeout
等待一秒之後,它以新的尺寸調用功能buildPieChart()
。我想爲什麼我的餅圖不會更新爲新的尺寸?
path.exit()
.remove();
應該刪除舊的餅圖和
path.enter()
.append("path")
應該把新的餅圖中它的位置。
爲什麼我的新餅圖不顯示?
在這種情況下,更新時實際上沒有.enter()
和.exit()
選擇 - 所有數據元素都與DOM元素相匹配,因爲您不在數據中添加或刪除任何元素。
所以你所需要做的就是處理更新選擇。在D3的最新版本中,在添加元素後,將.enter()
選擇添加到更新選擇中,以便可以利用該選項使代碼更加簡潔。所有你需要改變的是這個。
path.enter()
.append("path")
.attr("fill", function(d, i){
// etc
到
path.enter()
.append("path");
path
.attr("fill", function(d, i){
//etc
完整示例here。
Aww該死的,我也是昨天才知道的。我應該抓住它。萬分感謝! – Grammin