echart關係圖平分節點刪除時自動平衡問題
阿新 • • 發佈:2021-02-10
# 專案場景:
專案場景: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