我有一对希望与 d3.js zoom() 功能相关联的图表。我查看了 d3.js API wiki,但还没有 zoom() 功能的文档。基本上,我希望在用户缩放或拖动任一图表时更新这两个图表。我看不到如何将缩放行为应用于两个不同的图表。
我创建了堆叠图的工作示例的 JSFiddle,但缩放功能仅适用于上图:http: //jsfiddle.net/G6GPm/2/
我希望在修改任何一个图形时都将缩放和拖动应用于两个图形。我知道我需要修改对 zoom() 行为的调用:
rect.call(d3.behavior.zoom().x(x).on("zoom", zoom));
我看到这种行为正在应用于 x(x) 轴,但我需要它也应用于下图的 x(x_sta) 轴。
我试图打破 zoom() 功能,但没有任何 API 文档,我猜测需要发生什么:
rect.call(d3.behavior.zoom()
.x(x).on("zoom", zoom)
.x(x_sta).on("zoom", zoom)
);
这显然失败了。我已经看到了一些使用多个图表的 d3.js 交互的其他示例,但没有像这样(两个不同的图表具有自己的轴和数据等)。
提前致谢。