D3JS раскладное изображение в центре - PullRequest
1 голос
/ 11 апреля 2019

Я использую раскладку с помощью d3js для рисования сетевого графика. проблема в том, что мой SVG обрезан (см. изображение ниже) как получить все изображение? Я использую это для инициализации графика:

var width = 1200,
        height = 1000,
        root;

    var force = d3.layout.force()
        .size([width, height])
        .on("tick", tick)
        .start();

    var svg = d3.select("body").append("svg")
        .attr("width", width)
        .attr("height", height);

    var link = svg.selectAll(".link"),
        node = svg.selectAll(".node");

1 Ответ

0 голосов
/ 12 апреля 2019

На первом простом шаге я предлагаю просто масштабировать область просмотра ...

var svg = d3.select("body").append("svg")
        .attr("width", width)
        .attr("height", height);
        .attr("viewBox", `${-width/2} ${-height/2} ${width*2} ${height*2}`)

Или вы можете вычислить bbox всех узлов и установить viewbox более точным

...