【问题标题】:Select existing circle node in d3 and append childs在 d3 中选择现有的圆节点并附加子节点
【发布时间】:2016-05-03 16:29:56
【问题描述】:

我有一个概念图,其中子节点在运行时可能有它的子节点。我想要实现的是在单击时展开子节点,以便我可以显示它的子节点。

    var childNode = d3.select("#o0");

    var onode = childNode.append('g')
        .data(data.outer)
        .enter().append("g")
        .attr("class", "outer_node")
        .attr("transform", function(d) { return "rotate(-86)translate(340)"; });

    onode.append("circle")
        .attr('id', function (d) { return d.id })
        .attr("r", 4.5);

我在下面的行中遇到错误:

var onode = childNode.append('g')

...说未定义

【问题讨论】:

  • 你能放一个 plunkr 或 fiddle 吗?我们对正在发生的事情一无所知。您是否尝试将子节点附加为元素?您是否检查过您要完成的工作的模式?有很多很好的例子:jsfiddle.net/ajing/Q2c2X/7
  • 小提琴在我公司受到限制

标签: jquery d3.js


【解决方案1】:

应该如下图所示。

 var onode = childNode.selectAll(".outer_node")
        .data(data.outer)
        .enter().append("g")
        .attr("class", "outer_node")
        .attr("transform", function(d) { return "rotate(-86)translate(340)"; });

您需要选择数据绑定。

【讨论】:

  • 谢谢西里尔。我试试看
猜你喜欢
  • 2019-09-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多