2014-08-30 115 views
-1

我是d3新手。今天早些時候我已經嘗試了一些d3強制佈局的例子,它工作的很好。更新節點'D3強制佈局中的子元素位置

但是,當我DIY它,並使每個節點一個g元素,並追加子circletext它,這些孩子的位置不會自動更新。

這裏是jsFiddle

順便提及,在本例中,我請node.append( 'someElement')的3倍

-first時間: node.append('g')>變得<g></g>

- 第二次:node.append('circle')>它變成<g><circle></circle></g>

- 最後時間:node.append('text')>它變成<g><circle></circle><text></text></g>

正如我以爲,上次還應該包括textcircle,但不是,爲什麼?謝謝

+0

[這個例子](http://bl.ocks.org/mbostock/1153292)應該有所幫助。 – 2014-08-30 10:30:26

回答

0

最後我解決了這個問題。

使用轉換是更新父級綁定到數據的子級的位置的正確方法。

所以追加textcircleg節點是正確的方法。

這裏是jsfiddle update

回答我的第二個問題是,

第二和第三附加是附加到g因爲之前有一行代碼,

node = node.enter() 
     .append("g") 
     .attr("class", "node"); 
相關問題