Javascript d3.js按时间段分组

Javascript d3.js按时间段分组,javascript,d3.js,Javascript,D3.js,我如何按相同大小的时间跨度(如几十年)嵌套数据 由此 对此 此外,如果时间跨度的大小是动态计算的,那就更好了。我通过循环所有元素并向其中添加相应的十年来解决了这个问题,如下图所示 for(i = 0; i < dataToDraw.length; i++) { if(dataToDraw[i].year != undefined) { var decadeStart = dataToDraw[i].year - dataToDraw[i].year % 10; data

我如何按相同大小的时间跨度(如几十年)嵌套数据

由此 对此
此外,如果时间跨度的大小是动态计算的,那就更好了。

我通过循环所有元素并向其中添加相应的十年来解决了这个问题,如下图所示

for(i = 0; i < dataToDraw.length; i++) {
  if(dataToDraw[i].year != undefined) {
    var decadeStart = dataToDraw[i].year - dataToDraw[i].year % 10;
    dataToDraw[i].decade = decadeStart + "-" + (decadeStart + 9);
  }
}

不清楚你在问什么。此外,您需要先尝试一下,如果遇到问题,您可以发布一个问题,清楚地解释您尝试了什么以及您遇到了什么错误。但同样重要的是,在发布问题之前,你要做一些基础研究。Thavit,看看d3,这将有助于将数组划分为多个存储箱。
[{key: "1430-1439", values: Array}
{key: "1550-1559", values: Array}
{key: "1830-1839", values: Array}
{key: "undefined", values: Array}]
for(i = 0; i < dataToDraw.length; i++) {
  if(dataToDraw[i].year != undefined) {
    var decadeStart = dataToDraw[i].year - dataToDraw[i].year % 10;
    dataToDraw[i].decade = decadeStart + "-" + (decadeStart + 9);
  }
}
nestedDecadeData = d3.nest()
.key(function(d) { return d.decade; })
.sortKeys(d3.ascending)
.entries(dataToDraw);