项目场景:

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

问题描述:

删除中间节点会有空缺:

删除前后:

解决方案:

限制:

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

解决方法

  • 删除中心节

    • 下侧节点数 = 上侧节点

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

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

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

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

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

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

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

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

效果图

最新文章

  1. Windows phone应用开发[17]-xap提交异常处理
  2. PHP正则表达式详解(三)
  3. android 常见的泄漏内存方法和 leakcanary 使用方法
  4. easy ui datagrid 中getSelections方法只能获取一行数据
  5. Cocos2d-JS引入资源
  6. c#操作Zip压缩文件
  7. [cocoapods]cocoapods问题解决
  8. 高级I/O函数(3)-tee、fcntl函数
  9. node.js基础:模块的创建和引入
  10. RegisterWindowMessage介绍
  11. C#中Bitmap类 对图像の操作 可检测图片完整性
  12. 二叉搜索树的第 k 个结点
  13. Spring中整合Cage,实现验证码功能
  14. ASI与AFN网络请求的的比较
  15. numpy通用函数
  16. Spring Security(十五):5.6 Authentication
  17. Windows下安装Ubuntu 16.04双系统
  18. [代码]--ORA-01745: 无效的主机/绑定变量名 ORA-00917: 缺失的逗号 oracle日期格式错误
  19. Python开发【算法】:斐波那契数列两种时间复杂度
  20. javac之Inferring Type Arguments Based on Actual Arguments

热门文章

  1. 洛谷P3275 [SCOI2011]糖果(差分约束)
  2. oracle视图添加hint
  3. 实现简易版德州扑克|学习麻瓜编程以项目为导向入门前端 HTML+CSS+JS
  4. [MRCTF2020]你传你🐎呢之.htaccess
  5. ECC 6 debuging中create points
  6. 翻译 - ASP.NET Core 基本知识 - 中间件(Middleware)
  7. Angular学习资料大全和常用语法汇总(让后端程序员轻松上手)
  8. 如何在K8s,Docker-Compose注入镜像Tag
  9. STL_map和multimap容器
  10. .NET, NETCORE 怎么写 "超时"代码,解析"超时"代码原理!