我之前曾使用Springy生成力导向图。似乎有一种非常聪明的算法来避免节点或链接重叠,并且它还很少使用可用空间:
http://getspringy.com/demo.html
不幸的是,Springy使用jQuery,不适合我当前的项目,并且正在寻找一个很好的替代品。目前,我正在尝试Cytoscape。我尝试了几种布局,而Cose-Bilkent似乎是迄今为止最好的。但是,我也有一些问题:
- 指向自我的链接被绘制在其他边缘之上,这使得它们难以阅读
- 断开连接的节点组有时彼此相距很远
- 即使节点和边缘的数量很少(〜15个),边缘也经常重叠。
在典型情况下,我将有4-16个节点和边。我正在寻找一种以美观,紧凑的形式显示它们的方法,并尽可能减少重叠的边缘。
设置:
randomize: true,nodeRepulsion: 1000,idealEdgeLength: 30,gravity: 0.1
我还测试了以下布局:
- 克莱:很多重叠的边缘,有时甚至很长的边缘
- 可乐:也有很多重叠的地方
- Fcose:制作非常宽的图
Euler似乎根本不起作用,只是挂起了我的浏览器。