gojs径向布局
gojs径向布局
官网例子https://gojs.net/latest/samples/radial.html
需要引入官网的RadialLayout.js文件<script src="js/RadialLayout.js"></script>
最大圈数定义 | maxLayers:2 |
每圈半径定义 | layerThickness:100 |
节点布局重定义 rotateNode |
rotateNode:function(node, angle, sweep, radius) { //node 节点对象, //angle 逆时针角度,用于定义节点旋转摆放的方向 node.angle=angle; //sweep 顺时针角度,可设置节点node.angle=sweep ; //radius 半径,通过半径可知节点在第几圈上 } |
线圈重定义 commitLayers |
commitLayers: function() { } |
特殊例子,如果半径要以中心节点边界计算,从中心节点边界到第一圈的距离要和半径相等,使得中心节点过大的情况下不会太接近第一圈或者覆盖第一圈,解决方案,修改RadialLayout.js中布局算法的第177行追加中心节点半径即可
有线圈自定义的,也需要修改线圈自定的半径算法