【发布时间】:2023-03-20 16:01:01
【问题描述】:
这是关于 Dygraphs 库的问题。
当使用“可见性”方法来抑制对多变量时间序列的某些变量的渲染时,只有 可见 突出显示的点被传递给“highlightCallback”函数(第三个参数,名为文档中的“点”)。如果用户可以访问回调函数中的所有点,即突出显示的可见点和点如果相应的变量要突出显示,那将会很方便设置为可见。
我的问题:是否有功能/解决方法可以访问 (un)highlightCallback 函数中不可见的突出显示点的坐标?
为了澄清问题,这里有一个简单的例子:
假设我们有以下多元时间序列
"time_index", "var1", "var2"\n
"1", "5.1", "0.3"\n
"2", "5.5", "0.2"\n
"3", "5.8", "0.1"
和使用此数据集的 Dygraph 对象 g。我们设置
g.updateOptions({visibility: [true, false]});
因此,对应于var1 的时间序列被绘制,而var2 被隐藏。现在假设我们要为时间序列var1的每个高亮点画一条长度为var2的垂直线,即,
- 当点
(1,5.1)突出显示时,从(1,5.1)到(1,5.4)=(1,5.1+0.3)的一行 - 当点
(2,5.5)突出显示时,从(2,5.5)到(2,5.7)=(2,5.5+0.2)的一行 - 当点
(3,5.8)突出显示时,从(3,5.8)到(3,5.9)=(3,5.8+0.1)的一行
这将通过使用 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,这里用来确定垂直线的长度)的数据的方法。
感谢您的帮助!
【问题讨论】:
-
你希望
g.updateOptions(visibility: [true, false])做什么?
标签: javascript dygraphs