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