Dygraphs: добавление аннотации к моему временному ряду

Я продолжаю играть с Dygraphs с временными рядами. Я следил за документацией здесь: http://dygraphs.com/annotations.html и здесь: http://dygraphs.com/gallery/#g/annotations

Моя ось x - это объект Date () javascript. После проверки пример моего массива временных рядов, который я использую с Dygraphs, выглядит следующим образом:

[[Wed Sep 25 2013 00:00:00 GMT+0100 (GMT Daylight Time), 5.311174814188838, 11],
[Wed Sep 25 2013 01:00:00 GMT+0100 (GMT Daylight Time), 5.313242976801092, 11],
[Wed Sep 25 2013 02:00:00 GMT+0100 (GMT Daylight Time), 5.310303423288409, 11],
[Wed Sep 25 2013 03:00:00 GMT+0100 (GMT Daylight Time), 5.301762506225051, 11]]

Серии могут быть «А» и «Б». Как ни пытаюсь установить аннотацию, не получается. Например,

annDate = new Date('2013 09 25');
g.setAnnotations([
{
  series: "A",
  x: annDate,
  shortText: "L",
  text: "Coldest Day"
}
]);

Я попытался напрямую указать дату в виде строки, например «2013-09-25» и т. д., но не могу отобразить аннотацию на графике.

РЕДАКТИРОВАНИЕ Скрипт здесь: http://jsfiddle.net/be8s6/3/


person jtromans    schedule 01.10.2013    source источник
comment
Предоставьте демо-ссылку, желательно через dygraphs.com/fiddle.   -  person danvk    schedule 02.10.2013
comment
jsfiddle.net/be8s6/3   -  person jtromans    schedule 03.10.2013


Ответы (1)


Вот исправленная версия вашего примера: http://jsfiddle.net/be8s6/4/

Хитрость заключается в том, чтобы выразить свою аннотацию как:

{
  series: "A",
  x: new Date("2009/07/12 14:00").getTime(),
  shortText: "L",
  text: "Coldest Day"
}

то есть значение x должно быть в миллисекундах с начала эпохи. Это, по общему признанию, немного сбивает с толку.

person danvk    schedule 05.10.2013
comment
Конечно - надо было подумать об этом. Большое тебе спасибо. - person jtromans; 06.10.2013
comment
danvk: В предыдущем посте вы могли вспомнить, что я играл со сворачивающимися выходными или там, где есть пустые данные. Вы упомянули, что время на оси X непрерывно. Однако, когда я пытаюсь поместить событие в то время, когда у дозы нет явной точки данных, связанной с ним в серии, оно не отображается. Вместо этого мои события должны происходить в момент, когда есть реальная точка данных. Я не ожидал, что это сработает, учитывая, что время должно быть непрерывным. Я что-то упускаю? - person jtromans; 15.10.2013
comment
в dygraphs есть ошибка, из-за которой вы можете добавлять аннотации только в точках данных. code.google.com/p/dygraphs/issues/ - person k107; 11.06.2014
comment
Да, я на самом деле запускаю алгоритм, который проходит через мои временные ряды и добавляет точки данных в дату/время, когда я хочу добавить свои аннотации. - person jtromans; 11.06.2014
comment
Вы только что сэкономили мне еще 5 часов :) - person Tomasz Smykowski; 24.07.2019