这是关于 Dygraphs 库的问题。
当使用“可见性”方法来抑制多变量时间序列的某些变量的呈现时,只有可见的突出显示点被传递给“highlightCallback”函数(第三个参数,在文档中命名为“points”)。如果用户可以访问回调函数中的所有点,即突出显示的可见点和如果要设置相应的变量时突出显示的点,那将会很方便 visible。
我的问题:是否有功能/解决方法可以访问(un)highlightCallback 函数中不可见的突出显示点的坐标?
为了澄清问题,这里有一个简单的例子:
假设我们有以下多元时间序列
"time_index", "var1", "var2"\n
"1", "5.1", "0.3"\n
"2", "5.5", "0.2"\n
"3", "5.8", "0.1"
g
以及使用此数据集的 Dygraph 对象。我们设置
g.updateOptions({visibility: [true, false]});
因此,对应的时间序列var1
被绘制,而var2
被隐藏。现在假设我们要为var2
时间序列的每个突出显示点绘制一条垂直长度线var1
,即
- 点突出显示
(1,5.1)
时的一条线(1,5.4)=(1,5.1+0.3)
(1,5.1)
- 点突出显示
(2,5.5)
时的一条线(2,5.7)=(2,5.5+0.2)
(2,5.5)
- 点突出显示
(3,5.8)
时的一条线(3,5.9)=(3,5.8+0.1)
(3,5.8)
这将通过使用 highlightCallback 函数来完成。
g.updateOptions({
highlightCallback: function(event, x, points, row, seriesName) {
draw_line(points[0],[points[0].xval,points[0].yval+points[1].yval]);
//draw_line(point_start,point_end)
}
});
不幸的是,我还没有找到在highlightCallback函数中访问不可见时间序列的数据var2
(即points[1].yval
,这里用于确定垂直线的长度)的方法。
感谢您的帮助!