我在这里实现了两个带有自定义选项verticalCrosshair : true
的dygraphs
:
https://rawgit.com/danielkrizian/dygraphs/master/tests/synchronize-Crosshair.html
当我将鼠标悬停在特定 x 点的任何图表上时,我希望所有图表都在该点显示垂直十字准线。
到目前为止,我已经能够在顶部图表 (gs[0]
) 上实现此功能,如下所示:
highlightCallback: function(e, x, pts, row) {
var sel = gs[0].getSelection();
gs[1].setSelection(sel);
},
当我将鼠标悬停在底部图表上时,没有任何反应。如何使用 for
循环遍历所有图表来概括它?
最佳答案
您应该将 dygraphs 对象放入一个数组中,并在highlightCallback 中对其进行循环,更新除了生成事件的之外的所有 dygraph 中的选择。
一个复杂的问题是 highlightCallback
没有获取 dygraph 对象作为参数。这是 API 中的一个疏忽,我希望在 dygraphs 2.0 中修复它。您可以通过在设置 highlightCallback
时捕获闭包中的相关 Dygraph 对象来解决此问题。
请参阅synchronize demo寻求一些灵感。
关于javascript - 两个 `dygraphs` 带同步十字准线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23121893/