D3强制布局文本标签重叠

时间:2015-11-09 18:32:09

标签: d3.js force-layout

我很难在力图上定位文字标签。它们彼此重叠,我无法弄清楚如何解决它。我在网上尝试了很多解决方案,但没有一个能够很好地运行。你能帮我看一下吗?

以下是我的文字标签的代码:

    var node_text = node_textNew.append("svg:text")
    .attr("class", "text_note")
    .attr("dx", 0)
    .attr("dy", -0.5)
    .attr('background-color', '#fff')
    .attr("x",    function(d, i) { return circleWidth + 5; })
    .attr("y",  function(d, i) { if (i>0) { return circleWidth + 0 } else { return 8 } })
    .text(function(d) { return d.name});

以下是它现在的样子:enter image description here

非常感谢你的帮助!

2 个答案:

答案 0 :(得分:2)

试试这个http://bl.ocks.org/MoritzStefaner/1377729。 在这里,作者介绍了一种使用另一种力布局将标签放置在节点附近的方法。

答案 1 :(得分:1)

一个简单的解决方案我发现我们使用节点Voronoi单元的中心作为标签的锚点。这为您提供了图表提供的最佳间距。

这方面的一个例子见: https://bl.ocks.org/mbostock/6909318