Это вопрос к библиотеке Dygraphs.
При использовании метода «видимости» для подавления рендеринга некоторых переменных многомерного временного ряда, только выделенные точки видимые передаются в функцию «highlightCallback» (третий параметр с именем « баллы »в документации). Было бы удобно, если бы у пользователя был доступ ко всем точкам в функции обратного вызова, т.е. выделенные видимые точки и точки , которые были выделены, если были установлены соответствующие переменные виден .
Мой вопрос: есть ли функциональность / обходной путь для получения доступа к координатам невидимых выделенных точек в функции (не) 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
скрыт. Теперь предположим, что мы хотим нарисовать вертикальную линию длины 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)
}
});
К сожалению, я не нашел способа получить доступ к данным невидимого временного ряда var2
(т. Е. points[1].yval
, здесь используется для определения длины вертикальной линии) в функции highlightCallback.
Спасибо за помощь!