我们怎么能在d3的第4版中做这样的事情: http://jsfiddle.net/d3wxP/1/ 因为某些翻译或比例不存在:
function move() {
var t = d3.event.translate, s = d3.event.scale;
t [0] = Math.max(0,Math.min(t [0],width-s * 50)); t [1] = Math.max(0,Math.min(t [1],height - s * 50));
svg.attr(“transform”,“translate(”+ t +“)scale(”+ d3.event.scale +“)”); }
答案 0 :(得分:0)
您需要通过以下方式进行更改:
function move() {
var t = d3.event.transform,
s = d3.event.transform.k;
t.x = Math.max(0, Math.min(t.x, width - s*50));
t.y = Math.max(0, Math.min(t.y, height - s*50));
svg.attr("transform", t);
}
请参阅http://jsfiddle.net/d3wxP/18/
关于该文件的文档:https://github.com/d3/d3-zoom#zoom-transforms(请注意,在某些时候它可能不向后兼容)。