2013-01-11 74 views
3

樹的佈局絕對是偉大的......樹。我們正在粉碎樹木。以下是我正在考慮的兩種不同的可能方法:如何在d3.js中使用扇入來佈局樹?

  • 「tree-ify」DAG通過任意刪除任何具有多個父母的孩子的邊緣。使用樹形佈局來決定頂點的位置,然後再添加邊緣。這種方法的缺點是結果可能不會很好地佈置。例如,很容易顯示樹狀扇入式佈局,其中排列兄弟節點的順序使其嵌入平面或不平坦。
  • 使用強制定向佈局做一些棘手的事情 - 例如,將其嵌入,然後將所有子節點向下旋轉(如摺疊中國粉絲),使其看起來像樹狀。

有沒有人對這個問題有任何意見或建議?兩種方法嗎?

謝謝!

回答

4

我一直在研究一個在JavaScript中繪製有向圖的項目:https://github.com/cpettitt/dagre。它包含一些示例,說明如何在D3中使用它。你可以在這裏找到的演示,這應該有助於讓你的這種做法是否會滿足您的需要或不感:

http://cpettitt.github.com/project/dagre/latest/demo/demo-d3.html

http://cpettitt.github.com/project/dagre/latest/demo/demo.html

http://cpettitt.github.com/project/dagre/latest/demo/demo-d3-large.html

+1

Heelo,是沒有任何方法,我看到的演示(鏈接似乎已經死了)? thnx – VividD

+0

對不起。我將演示移到了dagre-d3,它現在可以渲染。你可以在這裏找到工作鏈接:https://github.com/cpettitt/dagre-d3#demo –

+0

這真的很酷!謝謝! – VividD