我使用 dagre 和 d3 来显示图表。可以拖动和缩放图形元素和视口。每当我重绘图形(或绘制另一个图形)时拖动/缩放视口后,视口保持在之前设置的位置,但在第一次交互时重置(跳转到 [0,0] 和默认缩放比例)。
如何使用函数调用在 d3 中重置视口的位置?
我使用 dagre 和 d3 来显示图表。可以拖动和缩放图形元素和视口。每当我重绘图形(或绘制另一个图形)时拖动/缩放视口后,视口保持在之前设置的位置,但在第一次交互时重置(跳转到 [0,0] 和默认缩放比例)。
如何使用函数调用在 d3 中重置视口的位置?
Dagre 作者在这里 - 你使用的是 dagre 演示还是这个自定义代码?如果您使用的是 dagre 演示,我可以确认您正在观察的行为,解决方法是添加以下行:
svgGroup.attr("transform", "translate(5, 5)");
在此代码块之前(dagre/demo.js,我的树中的第 252 行):
svg.call(d3.behavior.zoom().on("zoom", function redraw() {
svgGroup.attr("transform",
"translate(" + d3.event.translate + ")"
+ " scale(" + d3.event.scale + ")");
}));
我已经更新了这张票下源代码中的演示:https ://github.com/cpettitt/dagre/issues/56
谢谢!