【问题标题】:D3JS force layout center imageD3JS 强制布局中心图像
【发布时间】:2019-09-02 05:14:41
【问题描述】:

我正在使用 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");

【问题讨论】:

  • 你在问如何强制节点留在可见区域?
  • 是的@AndrewReid

标签: d3.js force-layout


【解决方案1】:

首先我建议简单地缩放视口...

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

【讨论】:

猜你喜欢
  • 2018-12-26
  • 2019-01-08
  • 2014-02-15
  • 1970-01-01
  • 2016-11-13
  • 2012-10-04
  • 2015-12-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多