【发布时间】:2014-12-01 16:39:22
【问题描述】:
这里有个问题
回答限制平移运动的问题。但这使用了我没有的轴。
我所拥有的是具有平移和缩放能力的力导向图。
现在我已经限制了缩放使用:
.call(d3.behavior.zoom().on("zoom", redraw).scaleExtent([0.8, 2]))
我想知道如何限制该图的平移运动,这样我就不会将网络/图拖到视口之外。
(网络可能会根据导入的JSON文件改变大小,所以我不能使用确切的数字)
inner.attr("transform","translate(" + d3.event.translate + ")" + " scale(" + d3.event.scale + ")");
【问题讨论】:
-
在
zoom事件处理程序中,检查当前翻译是否超出了您想要限制的范围,如果超出,请不要将其应用于 SVG。 -
那么你是怎么做到的呢? @LarsKotthoff
-
这就是@Elijah 在他的回答中所做的。
-
好的。我知道了。他放了“你的重绘功能的其余部分,现在在你的缩放上使用更新的翻译”。我如何将其应用于我的:“inner.attr("transform","translate(" + d3.event.translate + ")" + " scale(" + d3.event.scale + ")"); "? ? @LarsKotthoff
-
如果您对某个答案有任何疑问,请对该答案发表评论。
标签: javascript d3.js