2015-11-09 59 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