如何使用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变量。我尝试从中减去...并添加到其中。它没有用,我不想影响最高边距,只影响最低边距。