1. 程式人生 > >echart關係圖平分節點刪除時自動平衡問題

echart關係圖平分節點刪除時自動平衡問題

# 專案場景: 專案場景:Echarts關係圖中(不是力圖)一個節點x,y是固定的,**為了同一列能居中顯示**,規定:**當前列有奇數個元素新節點往下放,有偶數個節點時新節點往上放**。 # 問題描述: 刪除中間節點會有空缺: 刪除前後: ![刪除前](https://img-blog.csdnimg.cn/20210210112031841.png)![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20210210112208243.png) # 解決方案: 限制: 1. 平衡後: **下邊節點數>= 上邊節點數,且下邊比上邊最多多一個**。 2. 本列新增新節點後: **下邊節點數>= 上邊節點數,且下邊比上邊最多多一個**。 **解決方法**: - 刪除中心節 - 下側節點數 = 上側節點 刪除掉之後**總數為偶數,下一個節點往上放**,中心**節點上**所有節點**往下**移。上側比下側多一個節點。 - 上側節點數 > 下側節點 刪除掉之後**總數為奇數,下一個節點往下放**,中心**節點下**所有節點**往上**移。左右點相等。 - 刪除上側節點 - 下側節點數 = 上側節點 刪除掉之後**總數為偶數,下一個節點往上放**,刪除**節點上**所有節點**往下**移。左側比右側多一個節點。 - 上側節點數 > 下側節點 刪除掉之後**總數為奇數,下一個節點往下放**,中心**節點下**所有節點**往上**移。左右點相等。 - 刪除下側節點 - 下側節點數 = 上側節點 刪除掉之後**總數為偶數,下一個節點往上放**,刪除**節點上**所有節點**往下**移。左側比右側多一個節點。 - 上側節點數 > 下側節點 刪除掉之後**總數為奇數,下一個節點往下放**,中心**節點下**所有節點**往上**移。左右點相等。 >**可以看到節點移動跟刪除節點的位置無關,淦!** 1. 當刪除節點個數為偶數時,刪除節點**上部分向下移動** 2. 當節點個數為奇數數時,刪除節點**下部分向上移動** ## 效果圖 ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20210210183315