echart关系图平分节点删除时自动平衡问题

项目场景:Echarts关系图中(不是力图)一个节点x,y是固定的,为了同一列能居中显示,规定:当前列有奇数个元素新节点往下放,有偶数个节点时新节点往上放

问题描述:

删除中间节点会有空缺:
删除前后:

删除前

在这里插入图片描述

解决方案:

限制:

平衡后: 下边节点数>= 上边节点数,且下边比上边最多多一个

本列添加新节点后: 下边节点数>= 上边节点数,且下边比上边最多多一个

解决方法

删除中心节

下侧节点数 = 上侧节点
删除掉之后总数为偶数,下一个节点往上放,中心节点上所有节点往下移。上侧比下侧多一个节点。

上侧节点数 > 下侧节点
删除掉之后总数为奇数,下一个节点往下放,中心节点下所有节点往上移。左右点相等。

删除上侧节点

下侧节点数 = 上侧节点
删除掉之后总数为偶数,下一个节点往上放,删除节点上所有节点往下移。左侧比右侧多一个节点。

上侧节点数 > 下侧节点
删除掉之后总数为奇数,下一个节点往下放,中心节点下所有节点往上移。左右点相等。

删除下侧节点

下侧节点数 = 上侧节点
删除掉之后总数为偶数,下一个节点往上放,删除节点上所有节点往下移。左侧比右侧多一个节点。

上侧节点数 > 下侧节点
删除掉之后总数为奇数,下一个节点往下放,中心节点下所有节点往上移。左右点相等。

可以看到节点移动跟删除节点的位置无关,淦!

当删除节点个数为偶数时,删除节点上部分向下移动

当节点个数为奇数数时,删除节点下部分向上移动

效果图

在这里插入图片描述

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpsywp.html