4

場合によっては、グラフをリロードしてグラフを再描画し、ページを更新せずに (jquery と ajax を使用して) 初期位置とスケールに設定する必要があります。私が使用したのは、https://github.com/cpettitt/dagre-d3のサンプル コード(インタラクティブなものではなく、ガイドに書かれているもの) であり、エッジとノードを動的クエリで読み込みます。

しかし、ノードとエッジをリロードして再度レンダリングすると、$("g.zoom) の位置とスケールが元のままでした。$("g.zoom) の属性「transform」と「scale」属性を編集しようとしました。 zoom") を jQuery で使用しますが、ユーザーがグラフをドラッグまたはズームすると、スケールと位置が元に戻ります。

https://github.com/cpettitt/dagre-d3/issues/17で解決策を試して、svg をリセットしました。

  var svg = d3.select("svg > g");
  svg.selectAll("*").remove();

その後はズームは利用できません。

また、次の方法があるかどうかを知りたいです。

  1. グラフ全体を表示するための適切なスケールを計算します (非常に大きなグラフを描画する必要がある場合があります)
  2. 画像をダブルクリックすると、どんどん大きくなるのではなく、固定サイズにズームされ、再度ダブルクリックすると、グラフ全体を表示できるスケールに戻ります

私は自分自身を理解してくれたことを願っています。:)

4

0 に答える 0