我正在構建樹形圖,如:http://bl.ocks.org/2503502。樹結構 - 僅以根節點開始
我想有一棵樹,所有的節點摺疊,所以最初的圖應該只包含一個節點(根)。加載頁面時,只應顯示根節點,然後單擊時顯示其餘子節點。
我該怎麼做?
我正在構建樹形圖,如:http://bl.ocks.org/2503502。樹結構 - 僅以根節點開始
我想有一棵樹,所有的節點摺疊,所以最初的圖應該只包含一個節點(根)。加載頁面時,只應顯示根節點,然後單擊時顯示其餘子節點。
我該怎麼做?
我可以看到這是前一陣子被問到的,但無論如何我會回答它,因爲我處於類似的情況。
這裏有幾個選項,具體取決於您是否希望根節點可點擊以及子節點完全顯示(在單擊root後),因爲它目前出現在您提供的示例上,或者如果您想要全部子節點也將被摺疊。
OPTION 1(僅根節點摺疊)
在其中在函數它是編碼與update(root);
的d3
對象的初始化(做CTRL + ˚F或CMD + ˚F)放入toggle(root)
。變量名稱root
根據給出的示例,您的版本和函數名稱可能會有所不同(因爲您尚未提供示例代碼來解決問題)。
OPTION 2(所有節點摺疊)
你做上面一樣,但選擇1之前新插入的toggle(root);
你也把root.children.forEach(toggleAll);
其中toggleAll
是你還需要插入這是一個函數:
function toggleAll(d) {
if (d.children) {
d.children.forEach(toggleAll);
toggle(d);
}
}
替代選項
我有GI的選項並不僅限於上述內容。如果你按照brantolsen.github.com的這個例子(https://stackoverflow.com/a/11649427),你會發現實現你想要實現的其他例子。