我在这里用自定义选项dygraphs
实现了两个verticalCrosshair : true
:
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之外的所有dygraph中的选择。
一种复杂的情况是highlightCallback
不能将音标对象作为参数。这是API的疏忽,我希望在dygraphs 2.0中修复。设置highlightCallback
时,可以通过在闭包中捕获相关的Dygraph对象来解决该问题。
请参阅synchronize demo以获取一些启发。