D3:缩放到具有下边距的边界框

时间:2018-06-20 21:32:34

标签: javascript d3.js

如何使用Mike Bostock的代码缩放到边界框,同时使底部边距(例如)保持50px?

下面是抓住多边形边界并计算平移和缩放比例的代码:

  var bounds = path.bounds(d),
      dx = bounds[1][0] - bounds[0][0],
      dy = bounds[1][1] - bounds[0][1],
      x = (bounds[0][0] + bounds[1][0]) / 2,
      y = (bounds[0][1] + bounds[1][1]) / 2;


   var scale = 0.9 / Math.max(dx / width, dy / height);
   var translate = [width / 2 - scale * x, height / 2 - scale * y];

指向我的明显指示是弄乱height变量。我尝试从中减去...并添加到其中。它没有用,我不想影响最高边距,只影响最低边距。

Jsfiddle if required.

0 个答案:

没有答案