layout配置项

layout目前支持dendrogram、compactBox、mindmap和indeted四种布局方式。

通用配置项

名称类型默认值描述
typestringdendrogram布局类型,支持dendrogram、compactBox、mindmap和indeted。
directionstringLR布局方向,有 LR , RL , TB , BT , H , V 可选。L: 左; R: 右; T: 上; B:下; H: 垂直; V: 水平。
getChildrenFunction返回当前节点的所有子节点

⚠️注意:type=indeted时,direction只能取LR、RL和H这三个值。

dendrogram

dendrogram示意图

使用dendrogram方式布局时,direction取不同值时的效果如下所示。

LRRLH
layout配置项 - 图1layout配置项 - 图2layout配置项 - 图3
TBBTV
layout配置项 - 图4layout配置项 - 图5layout配置项 - 图6

dendrogram配置项

名称类型默认值描述
nodeSepnumber20同层次节点之间的间距
rankSepnumber200相邻层级节点之间的间距
nodeSizenumber20节点大小
subTreeSepnumber10子树之间的间距
isHorizontalbooleantrue是否是水平方向,默认为水平方向

compactBox

compactBox示意图

使用compactBox方式布局时,direction取不同值时的效果如下所示。

LRRLH
layout配置项 - 图7layout配置项 - 图8layout配置项 - 图9
TBBTV
layout配置项 - 图10layout配置项 - 图11layout配置项 - 图12

compactBox配置项

名称类型默认值描述
getIdFunction指定节点ID
getHeightFunction36指定节点高度
getWidthFunction18指定节点宽度
getVGapFunction18指定节点之间的垂直间距
getHGapFunction18指定节点之间的水平间距

⚠️注意:使用getWidth、getHeight、getVGap和getHGap指定节点的宽高及间距后,并不会改变节点的大小,具体原理如下所示:

  1. /*
  2. * Gaps: filling space between nodes
  3. * (x, y) ----------------------
  4. * | vgap |
  5. * | -------------------- h
  6. * | h | | e
  7. * | g | | i
  8. * | a | | g
  9. * | p | | h
  10. * | --------------------- t
  11. * | |
  12. * -----------width------------
  13. */

🦁以上原理同样适用于indented和mindmap布局。

indented

indented示意图

使用indented方式布局时,direction取不同值时的效果如下所示。

LRRLH
layout配置项 - 图13layout配置项 - 图14layout配置项 - 图15

indented配置项

名称类型默认值描述
indentnumber20与直接父节点的缩进值
getVGapFunction18指定节点之间的垂直间距
getHeightFunction36指定节点的高度

mindmap

mindmap示意图layout配置项 - 图16mindmap配置项

名称类型默认值描述
getIdFunction指定节点ID
getHeightFunction36指定节点高度
getWidthFunction18指定节点宽度
getSideFunction指定当前节点在主题的左边 (left) 还是右边 (right)
getSubTreeSepFunction0指定子节点之间的高度间隔
getVGapFunction18指定节点的垂直间距
getHGapFunction18指定节点的水平间距