在 dygraphs 标签上添加一个周期计数器

Add a period counter on dygraphs label

例如,在这样的 dygraph 上:

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

我想按如下方式自定义标签。而不是

1974 年 1 月
1974 年 2 月
等等

我想看:

1974 年 1 月 (1)
1974 年 2 月 (2)
等等

我不在乎计数器是否与日期相连,我只想在鼠标移到系列上时看到周期增量数。 (当然没有在图表上显示为系列)

快速破解 -- 在数据中创建一列,但在图表中隐藏该行的视觉提示:

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

您可以创建一个自定义的 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))