AntV的G6库致力于处理关系图,并且有很好的绑定与使用的接口。但是在实际的需求中,我们需要处理两个节点间的多度关系,这样就要求能有较好的边分布,或者对于整个图有更加好的节点分布计划。
关于边的分布
二维贝塞尔
取最简单的情况,两个点,第一个解决方案是使用二维贝塞尔曲线,并且曲线的分散点在两个点的垂直平分线上:
这样可以保证是上下离散的点,并且较大限度利用两个点之间的区域来绘制边的。
但是在多点多边的情况下,容易出现起点线段的交集。
所以目前看来,对于多点的复杂情况,应该在分布点的时候合理根据出入度分布点。
而且需要解决因为斜率而导致的边间空隙过大/过小。
下面示例为六个点,共100条边。
关于文字描述,在贝塞尔曲线正中心可以加上文字的描述,效果如图:
自己到自己的边
考