javascript - d3.js 带标签强制折叠

标签 javascript svg d3.js label force-layout

实际上,我已经在有界力定向图中集成了可折叠功能。但是当我尝试在每个节点上放置标签时,我得到了意外的输出。

我使用以下代码在节点上附加标签:

  node.enter().append("text")
            .attr("class","node")
            .attr("cx", function(d) { return d.x; })
            .attr("cy", function(d) { return d.y; })
            .on("click",click)
            .text(function(d){return d.name})
            .call(force.drag);

下面是我在勾选函数中编写的代码:

node.attr("transform", function(d) {
  return "translate(" + d.x + "," + d.y + ")";
});

我可能做错了什么?

最佳答案

我需要附加 g 标签,然后添加圆圈和文本:

  var nodeEnter = node.enter().append("g")
      .attr("class", "node")
      .on("click", click)
      .call(force.drag);

  nodeEnter.append("circle")
      .attr("r", function(d) { return Math.sqrt(d.size) / 10 || 8.5; });

  nodeEnter.append("text")
      .attr("dy", ".35em")
      .text(function(d) { return d.name; });

  node.select("circle")
      .style("fill", color);

关于javascript - d3.js 带标签强制折叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21086163/

相关文章:

javascript - 页面标题内的时间脚本

html - 正确定位 svg 与 div 内联 - 在父 div 内,如何完成?

java - SVG 到 Java Graphics2D

SVG 组上的 CSS 动画

javascript - 使用 D3.js 创建散点图

javascript - 彩色交叉区域

javascript - 如何简化这段D3代码?

JavaScript 检测复选框并选中并执行操作

javascript - 突出显示页脚背景和内容之间的跨度

javascript - Backbone 中自定义事件的优势是什么?