1

dagreとd3を使用してグラフを表示します。グラフ要素とビューポートはドラッグおよびズームできます。グラフを再描画する(または別のグラフを描画する)たびにビューポートをドラッグ/ズームした後、ビューポートは以前に設定された場所に留まりますが、最初の操作でリセットされます([0,0]にジャンプし、デフォルトのズーム比)。

関数呼び出しを使用してd3のビューポートの位置をリセットするにはどうすればよいですか?

4

1 に答える 1

2

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

ありがとう!

于 2013-03-08T00:14:43.913 に答える