UNPKG

d3-sankey-diagram

Version:
79 lines (62 loc) 1.71 kB
import { Graph } from '@dagrejs/graphlib' export function exampleTwoLevel () { const G = new Graph({ directed: true }) // Example from Barth2004 G.setEdge('n0', 's0', {}) G.setEdge('n1', 's1', {}) G.setEdge('n1', 's2', {}) G.setEdge('n2', 's0', {}) G.setEdge('n2', 's3', {}) G.setEdge('n2', 's4', {}) G.setEdge('n3', 's0', {}) G.setEdge('n3', 's2', {}) G.setEdge('n4', 's3', {}) G.setEdge('n5', 's2', {}) G.setEdge('n5', 's4', {}) const order = [ ['n0', 'n1', 'n2', 'n3', 'n4', 'n5'], ['s0', 's1', 's2', 's3', 's4'] ] return { G, order } } export function exampleTwoLevelMultigraph () { const G = new Graph({ directed: true, multigraph: true }) G.setEdge('a', '1', {}, 'm1') G.setEdge('a', '3', {}, 'm1') G.setEdge('a', '3', {}, 'm2') G.setEdge('b', '2', {}, 'm1') G.setEdge('b', '3', {}, 'm1') G.setNode('4', {}) const order = [ ['a', 'b'], ['1', '2', '3', '4'] ] return { G, order } } export function exampleTwoLevelWithLoops (type = undefined) { const G = new Graph({ directed: true, multigraph: type !== undefined }) G.setEdge('n0', 's0', {}, type) G.setEdge('n0', 'n2', {}, type) // loop G.setEdge('n1', 's0', {}, type) G.setEdge('n2', 's1', {}, type) const order = [ ['n0', 'n1', 'n2'], ['s0', 's1'] ] return { G, order } } // function exampleTwoLevel() { // let G = new Graph({ directed: true }); // G.setEdge('1', 'a'); // G.setEdge('2', 'b'); // G.setEdge('2', 'd'); // G.setEdge('3', 'c'); // G.setEdge('3', 'd'); // G.setEdge('4', 'c'); // G.setEdge('4', 'd'); // let nodes = [ // ['1', '2', '3', '4'], // ['a', 'b', 'c', 'd'], // ]; // return {G, nodes}; // }