Это вопрос относительно библиотеки Dygraphs.
При использовании метода «видимости» для подавления рендеринга определенных переменных многомерного временного ряда только видимые выделенные точки передаются функции «highlightCallback» (третий параметр, названный «points» в документации). Было бы удобно, если бы пользователь имел доступ ко всем точкам в функции обратного вызова, т. е. к выделенным видимым точкам и точкам, которые выделялись, если соответствующие переменные сделать видимым.
Мой вопрос: есть ли функциональность/обходной путь для получения доступа к координатам невидимых выделенных точек в функции (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
скрыт. Теперь предположим, что мы хотим провести вертикальную линию длиной 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.
Спасибо за помощь!
g.updateOptions(visibility: [true, false])
? - person Mike Samuel   schedule 21.03.2012