2013-03-07 52 views
1

我使用dagre和d3來顯示圖形。圖元素和視口可以被拖動和縮放。每當我重繪圖形(或繪製另一個圖形)時,拖動/縮放視區後,視口將保持之前設置的位置,但會在第一次交互(跳至[0,0]和默認縮放比率)時重置。d3.js重置視口的位置

如何通過函數調用來重置視口在d3中的位置?

回答

2

Dagre作者在這裏 - 你使用的是Dagre演示還是這個自定義代碼?如果您使用的dagre演示,我可以確認你正在觀察的行爲和解決方法是添加此行:此代碼塊之前

svgGroup.attr("transform", "translate(5, 5)");

(dagre/demo.js,線252我的樹):https://github.com/cpettitt/dagre/issues/56

感謝:

svg.call(d3.behavior.zoom().on("zoom", function redraw() { 
    svgGroup.attr("transform", 
      "translate(" + d3.event.translate + ")" 
      + " scale(" + d3.event.scale + ")"); 
})); 

我這張票在更新源代碼演示!

+0

嘿克里斯,你能在這個問題上達到頂峯嗎?我會很感激任何幫助! http://stackoverflow.com/questions/26636878/position-of-a-custom-shape-using-dagre – 2014-10-29 17:31:18