我是d3的新手。今天早些时候我尝试了一些d3力布局的例子,它运作得很好。
但是当我DIY它并使每个节点成为g
元素,并将子circle
和text
附加到其上时,这些孩子的位置不会自动更新。
这是jsFiddle
顺便说一句,在这个例子中,我调用了node.append(' someElement')3次
- 第一次:
node.append('g')
&gt;它变为<g></g>
- 第二次:node.append('circle')
&gt;它变为<g><circle></circle></g>
-last time:node.append('text')
&gt;它变为<g><circle></circle><text></text></g>
正如我所想,上一次也应该将text
包括在circle
中,但不是,为什么?感谢
答案 0 :(得分:0)
最后我解决了这个问题。
使用transform是更新父项绑定到数据的子项位置的正确方法。
所以将text
和circle
添加到g
节点是正确的方法。
我第二个问题的回答是,
第二个和第三个附加内容附加到g
,因为之前有一行代码
node = node.enter()
.append("g")
.attr("class", "node");