@antv/hierarchy

    0.6.8 • Public • Published

    hierarchy

    layout algorithms for visualizing hierarchical data.

    API

    example

    const Hierarchy = require('@antv/hierarchy');
    
    // your tree data
    const root = {
      isRoot: true,
      id: 'Root',
      children: [
        {
          id: 'SubTreeNode1',
          children: [
            {
              id: 'SubTreeNode1.1'
            },
            {
              id: 'SubTreeNode1.2'
            }
          ]
        },
        {
          id: 'SubTreeNode2'
        }
      ]
    };
    
    // apply layout
    const NODE_SIZE = 16;
    const PEM = 5;
    const ctx = document.getElementById('id-of-canvas-element').getContext('2d');
    const rootNode = Hierarchy.compactBox(root, {
      direction: 'H', // H / V / LR / RL / TB / BT
      getId(d) {
        return d.id;
      },
      getHeight(d) {
        if (d.isRoot) {
          return NODE_SIZE * 2;
        }
        return NODE_SIZE;
      },
      getWidth(d) {
        if (d.isRoot) {
          return ctx.measureText(d.id).width * 2 + PEM * 1.6;
        }
        return ctx.measureText(d.id).width + PEM * 1.6;
      },
      getHGap(d) {
        if (d.isRoot) {
          return PEM * 2;
        }
        return PEM;
      },
      getVGap(d) {
        if (d.isRoot) {
          return PEM * 2;
        }
        return PEM;
      },
      getSubTreeSep(d) {
        if (!d.children || !d.children.length) {
          return 0;
        }
        return PEM;
      }
    });

    layout types

    Hierarchy[type]

    compactBox

    this layout differs from d3-hierarcy.tree, it is a compact box tidy layout that is tidy in both horizontal and vertical directions.

    demos

    LR RL H
    LR RL H
    TB BT V
    TB BT V

    dendrogram

    demos

    LR RL H
    LR RL H
    TB BT V
    TB BT V

    indented

    demos

    LR RL H
    LR RL H

    mindmap

    this layout is inspired by XMind.

    demos

    mindmap

    Install

    npm i @antv/hierarchy

    DownloadsWeekly Downloads

    58,063

    Version

    0.6.8

    License

    MIT

    Unpacked Size

    2.12 MB

    Total Files

    69

    Last publish

    Collaborators

    • rainy25ghz
    • zeyuwang
    • yanxiong
    • susiwen8
    • freestyle21
    • soundquiet
    • elaine.q.10
    • sturuby
    • lviser
    • sakuya223
    • serializedowen
    • xdzhao
    • yangzhanmei
    • wjgogogo
    • leungwensen
    • dori
    • iaaron
    • yard
    • simaq
    • dxq613
    • intchous
    • susan_ann
    • jinke.li
    • lzxue
    • army8735
    • atool
    • baizn
    • dengfuping
    • neoddish
    • jeffy2012
    • zqlu
    • afc163
    • pomelo-nwu
    • kopiluwaky
    • ccnuzindex
    • panyuqi
    • bubkoo
    • zengyue
    • kasmine
    • boyu.zlj
    • l1ud0ngq1
    • newbyvector
    • winniexing
    • chenluli
    • kn9117
    • xdddst
    • semious2020
    • esora
    • nadia_liu
    • bbsqq
    • mxz96102
    • openwayne
    • pearmini
    • pddpd
    • yiqianyao
    • zhanba
    • cxxxxxn