2016-11-24 142 views
0

我搜索論壇的類似問題,但我沒有找到任何東西。D3.js樹自定義節點重疊

我以this d3-based org chart爲起點。

enter image description here

以上是我的樹的底部。在葉節點(黃色)我不得不調整它們以適應更多的元素,我不知道有多少提前。 結果是一個節點與其他節點重疊。

希望你們能幫助我在這裏:

1/如何調整,而不disrepect節點它們之間的間距?

2/即使我能設法讓黃枝節點不重疊,當我擴大綠枝節點,他們還是重疊的黃色側節點?

3/還是有更好的方法來實現這一目標?

謝謝!

回答

0

對於那些需要做類似的事情,Tree layout separation是要走的路。

function separation (a, b) { 
    return a.parent == b.parent ? 1 : 2; 
} 

這是令人困惑的閱讀文檔,但通過一些文章看後,在這裏不用(是什麼號碼1,2的意思):

節點之間的距離將是結果這個數字節點的寬度

所以,你想要做的是設置默認節點大小是 [1,YOUR_DEFAULT_HEIGHT]

然後代替返回1或2,你會返回節點的寬度。這就是爲什麼你設置初始節點的寬度爲1.

就是這樣。希望有所幫助:)