2015-11-09 36 views
2

我很难在我的力量图上定位文本标签。他们互相重叠,我无法弄清楚如何解决它。我已经尝试了很多来自在线的解决方案,但都没有效果。你能帮我看一下吗?D3强制布局文本标签重叠

下面是代码为我的文字标签:

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

非常感谢你的帮助!

+0

[这个问题](https://stackoverflow.com/questions/17425268/d3js-automatic-labels-placement-to-avoid-overlaps-force-排斥)应该有所帮助。 –

+0

我试过了。这不适用于我的图表。标签离圆圈太远。 –

+0

@EllieZhu,在狭小的空间里有很多标签。除了将标签从圈子中移开之外,还有哪些替代方案? – Mark

回答

1

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

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