可以提供正交布局(Orthogonal layout)算法吗
clyoudu opened this issue · comments
效果可参考yFiles的正交布局算法:https://live.yworks.com/demos/layout/layoutstyles/
关键要求:
- 节点和节点之间的连线是直线或正交直角连线
- 连线尽量避免交叉,某些场景下可以使用正交自动布局实现连线0交叉,比如小数据量的ER图、关系图谱等
- 连线转折点不超过2个
- 主要应用在非大数据场景(X6)
尝试过ERLayout,发现效果并不好:
0. ERLayout的options如果width、height和最小nodeSize没有控制好,会导致GridLayout无法绘制足够的网格来摆放所有节点,layout算法没有做检查,控制台报错信息也不清晰,需要深入debug才能找到原因
- 节点位置是根据GridLayout实现,并且算出来的结果并不稳定,每次都有可能有差异
- 连线没有避免交叉,这样即使设置连线为正交也会交叉
- erlayout里面有一个mysqlWorkbench.ts,不知道是不是实现了MySQL Workbench ER图自动布局的算法,如果是有使用方法吗?