Добавьте счетчик периодов на метке dygraphs - PullRequest
3 голосов
/ 20 мая 2019

Например, на таком графике:

library(dygraphs)
lungDeaths <- cbind(mdeaths, fdeaths)
dygraph(lungDeaths)

Я бы хотел настроить этикетку следующим образом. Вместо

Янв, 1974
Февраль 1974
и т.д.

Хотелось бы увидеть:

январь 1974 г. (1)
Февраль 1974 г. (2)
и т.д.

Мне все равно, если счетчик объединяется в дату, я просто хочу видеть инкрементальный номер периода, когда мышь перемещается по серии. (Конечно, без отображения в виде ряда на графике)

Ответы [ 2 ]

4 голосов
/ 23 мая 2019

Вы можете создать настроенный valueFormatter и использовать аргумент row для захвата номера периода. Вот пример:

library(dygraphs)
library(htmlwidgets)
lungDeaths <- cbind(mdeaths, fdeaths)

date_counter <- 'function(d,opts, seriesName, dygraph, row, col){
              var monthNames = ["Jan", "Feb", "Mar", "Apr", "May", "Jun","Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
              date = new Date(d);
              return monthNames[date.getMonth()]+", " +date.getFullYear() + " (" + row.toString() + ")";
}'

dygraph(lungDeaths) %>%
  dyAxis("x",valueFormatter=JS(date_counter))
0 голосов
/ 23 мая 2019

Быстрый взлом - сделать столбец в данных, но скрыть визуальные подсказки для этой строки на графике:

library(dygraphs)
lungDeaths <- cbind(mdeaths, fdeaths, row = 1:length(mdeaths))
dygraph(lungDeaths) %>%
  dySeries("row", strokeWidth = 0, pointSize = 0, color = "white")

enter image description here

...