是否可以 运行 对 d3 进行多重缩放

Is it possible to run mulitple zoom on d3

我正在尝试建立一种可以通过 canvas 和每个轴进行缩放的趋势。 canvas 应缩放所有轴,单轴缩放应仅缩放自身。

到目前为止一切顺利。

现在我希望 canvas 只缩放选定的轴。但是当我重新选择和取消选择轴时,它会通过缩放到当前比例来跳转。

我考虑过将每个轴的缩放添加到 canvas,但是

canvas.call(zoom1).call(zoom2);

只会调用最后一个。

有人知道吗?

谢谢!

我通过调用相应组的缩放功能找到了解决方案。

See https://jsfiddle.net/DaWa/3jfs6zb1/2/

现在我遇到了一个问题,两个变换(全局和单轴)不能相互适应。

有什么想法吗?

我找到了另一种缩放多轴和全局缩放的方法。

以下示例没有 canvas 但应该以相同的方式工作:

https://jsfiddle.net/DaWa/wnxu7m04/3/

与之前的解决方案不同的是,

the scale will be adapted when changing the zoom selection 
that all rects ecpet of rect which calls the zoom will be reset.

我知道这个解决方案有点hacky,但目前还没有正式的解决方案(参见https://github.com/d3/d3-zoom/issues/48