Function sugiyama

  • construct a new Sugiyama with the default settings

    The sugiyama layout takes a three step layering approach. First it calls Sugiyama#layering to assign a layer to each node. Then it calls Sugiyama#decross to arrange nodes in each layer to minimize edge crossings. Finally it calls Sugiyama#coord to assign actual coordinates given the ordering.

    Finally, you can also tweak the standard settings of Sugiyama#nodeSize, Sugiyama#gap, and Sugiyama#tweaks. Note that Rank can be set in some Layering operators.

    Sugiyama example

    Parameters

    • ...args: never[]

    Returns DefaultSugiyama

    To use the default layout:

    const grf: Graph = ...
    const layout = sugiyama();
    layout(dag);
    for (const node of dag.nodes()) {
    console.log(node.x, node.y);
    }

    To use optimal decrossing, which will only work for small graphs:

    const grf: Graph = ...
    const layout = sugiyama().decross(decrossOpt());
    layout(dag);
    for (const node of dag.nodes()) {
    console.log(node.x, node.y);
    }