antvis / layout

Layout algorithms for graphs.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

可以提供正交布局(Orthogonal layout)算法吗

clyoudu opened this issue · comments

效果可参考yFiles的正交布局算法:https://live.yworks.com/demos/layout/layoutstyles/
image

关键要求:

  1. 节点和节点之间的连线是直线或正交直角连线
  2. 连线尽量避免交叉,某些场景下可以使用正交自动布局实现连线0交叉,比如小数据量的ER图、关系图谱等
  3. 连线转折点不超过2个
  4. 主要应用在非大数据场景(X6)

尝试过ERLayout,发现效果并不好:
0. ERLayout的options如果width、height和最小nodeSize没有控制好,会导致GridLayout无法绘制足够的网格来摆放所有节点,layout算法没有做检查,控制台报错信息也不清晰,需要深入debug才能找到原因

  1. 节点位置是根据GridLayout实现,并且算出来的结果并不稳定,每次都有可能有差异
  2. 连线没有避免交叉,这样即使设置连线为正交也会交叉
  3. erlayout里面有一个mysqlWorkbench.ts,不知道是不是实现了MySQL Workbench ER图自动布局的算法,如果是有使用方法吗?