d3将多个元素附加为兄弟元素

时间:2015-04-19 03:16:00

标签: javascript d3.js

我在节点上有一个带有标签的力导向图。为了使所有内容井井有条,我将每个圈子/标签对保留在<g>元素中。

棘手的部分是,在双击节点时,我向图表添加更多点,并再次运行此功能 - 这意味着我开始获取重复的文本元素。

有没有办法将append("text")置于同一enter()范围内,但是将其作为circle的兄弟而不是作为孩子追加?

我看了这个答案,这有助于我理解我应该做什么,但我不知道如何让两个人都成为兄弟姐妹... D3js force duplicate nodes on enter()

            node.enter().append("g")
                .attr("class", "node")
                .call(drag)
                .append("circle")
                .attr("r", 10)
                .style("fill", function(d) {
                    return publisherScale(d.publisher);
                })
                .style("stroke", "rgba(255,255,255,.8)");

            node.append("text")
                .attr("dy", ".35em")
                .attr("dx", 10)
                .style("font-size", nominal_text_size + "px")
                .text(function(d) {
                    return '\u2002' + d.name
                });

0 个答案:

没有答案