Fruchterman

Fruchterman 布局是一种力导布局。算法原文:Graph Drawing by Force-directed PlacementFruchterman - 图1

属性

center

类型: Array示例:[ 0, 0 ]默认值:图的中心是否必须:false说明:布局的中心

maxIteration

类型: Number默认值:1000是否必须:false说明:最大迭代次数

gravity

类型: Number默认值:10是否必须:false说明:重力的大小,影响布局的紧凑程度

speed

类型: Number默认值:1是否必须:false说明:每次迭代节点移动的速度。速度太快可能会导致强烈震荡

clustering

类型: Boolean默认值:false是否必须:false说明:是否按照聚类布局

clusterGravity

类型: Number默认值:10是否必须:false说明:聚类内部的重力大小,影响聚类的紧凑程度,在 clusteringtrue 时生效

方法

与父类 Layout 的方法相同。使用该布局时不需要关心内部方法的调用,由 G6 控制。

使用方法

实例化图时配置到 layout 中,如果没有配置 layout 默认使用 Random 布局。

  1. const graph = new G6.Graph({
  2. container: 'mountNode',
  3. width: 1000,
  4. height: 600,
  5. layout: {
  6. type: 'fruchterman',
  7. center: [ 200, 200 ], // 可选,默认为图的中心
  8. gravity: 20, // 可选
  9. speed: 2, // 可选
  10. clustering: true, // 可选
  11. clusterGravity: 30, // 可选
  12. maxIteration: 2000
  13. }
  14. );