力学图的布局中有很多参数,本文将逐个说明。
D3 中的力学图布局是使用韦尔莱积分法计算的,这是一种用于求解牛顿运动方程的数值方法,被广泛应用于分子动力学模拟以及视频游戏中。定义布局的代码如下:
var force = d3.layout.force()
即可,D3 中提供了 17 个函数用于设定其参数和事件,在所有布局中是最多的,下面将对其进行说明。
size()
用于设定力学图的作用范围,使用方法为 force.size( [ x , y ] ),这个函数用于指定两件事:
- 重力的重心位置为 ( x/2 , y/2 )
- 所有节点的初始位置限定为 [ 0 , x ] 和 [ 0 , y ] 之间(但并非之后也是如此)
如果不指定,默认为 [ 1 , 1 ] 。
linkDistance()
指定结点连接线的距离,默认为20。如果距离是一个常数,那么各连接线的长度总是固定的;如果是一个函数,那么这个函数是作用于各连接线( source , target )的。