1

我正在尝试学习如何使用 D3.js 中的 force.layout 功能,并且一直在构建“力定向径向图”。

我已经能够成功地从节点(例如节点名称)附加和渲染文本,但我似乎无法从行(或其他人可能称之为链接或边缘的内容)(例如关系名称)中获取要渲染的文本。

有谁知道我在哪里可以找到很好的例子来教如何做到这一点,或者有可以纠正我所做的事情的代码片段?

谢谢你尽你所能的帮助。非常感谢。

我最好的,

坦率

4

1 回答 1

1

该示例已经展示了如何将文本添加到边缘。这是相关的代码:

      // Append text to Link edges
  var linkText = svgCanvas.selectAll(".gLink")
      .data(force.links())
    .append("text")
  .attr("font-family", "Arial, Helvetica, sans-serif")
  .attr("x", function(d) {
      if (d.target.x > d.source.x) { return (d.source.x + (d.target.x - d.source.x)/2); }
      else { return (d.target.x + (d.source.x - d.target.x)/2); }
  })
      .attr("y", function(d) {
      if (d.target.y > d.source.y) { return (d.source.y + (d.target.y - d.source.y)/2); }
      else { return (d.target.y + (d.source.y - d.target.y)/2); }
  })
  .attr("fill", "Maroon")
      .style("font", "normal 12px Arial")
      .attr("dy", ".35em")
      .text(function(d) { return d.linkName; });
于 2012-06-21T14:35:45.113 回答