изменить формы края в dagre-d3 - PullRequest
0 голосов
/ 08 июля 2019

Я пытаюсь построить ориентированный ациклический граф с помощью dagre-d3 .Можно ли как-то изменить форму края?Потому что это выглядит очень грязно с решением из коробки.

Вот мой код для рисования графика:

drawDrag(nodes: [], links: any[]) {
    const graph = new dagreD3.graphlib.Graph().setGraph({
        ranksep: 200,
        align: 'UL'
    });

    graph.setDefaultEdgeLabel(() => '');

    nodes.forEach((node: any) => {
        graph.setNode(node.id, node);
    });

    links.forEach((link: any) => {
        graph.setEdge(link.parentId, link.id, {
            label: ''
        });
    });

    graph.nodes().forEach(v => {
        const node: any = graph.node(v);

        node.width = this.nodeSideSize;
        node.height = this.nodeSideSize;
        node.rx = 5;
        node.ry = 5;
    });

    const svg = d3.select('svg');
    const inner: any = svg.select('g');
    const render = new dagreD3.render();

    render(inner, graph);

    const padding = 120;
    svg.attr('width', graph.graph().width + padding);
    svg.attr('height', graph.graph().height + padding);

    // Center the graph
    const offset = padding / 2;
    inner.attr('transform', 'translate(' + offset + ', ' + offset + ')');
}

И вот как это выглядит сейчас:

enter image description here

...