摘要: 前段時(shí)間,有個(gè)項(xiàng)目需要顯示一個(gè)很大的樹形拓?fù)浣Y(jié)構(gòu)圖,而布局怎么都不好看。要生成一顆比較布局規(guī)矩、好看的樹狀圖,一個(gè)成熟、高效的樹形布局算法必不可少。Reingold Tilford是常用的一個(gè),大家可以google一下。這個(gè)算法最先是由Edward Reingold和John Tilford一起發(fā)表的,并由他們的名字命名。有興趣的同學(xué),可以研究一下這篇1981年的論文:http://emr.cs.iit.edu/~reingold/tidier-drawings.pdf,里面給出了這個(gè)算法的原理和邏輯代碼。這個(gè)算法的優(yōu)點(diǎn)是邏輯相對(duì)簡(jiǎn)單,效率高。不過(guò)用js寫一遍也要消耗很多腦細(xì)胞。還要,twaver直接提供了這種算法和自動(dòng)布局,我們可以直接使用。 下面看一看這種布局的用途。利用Reingold Tilford樹算法,我們可以把一個(gè)樹形結(jié)構(gòu)的數(shù)據(jù),用不重疊、緊湊、分層的形式展示出來(lái)。
閱讀全文