Javascript 如何迭代绘制堆叠条形图?

Javascript 如何迭代绘制堆叠条形图?,javascript,d3.js,Javascript,D3.js,因此,我将时间序列数据放在一个数组中,如下所示: var data = [ [{date: 2016-01-01 00:00:00, value: 52}, {date: 2016-01-02 00:00:00, value: 23}, {date: 2016-01-03 00:00:00, value: 42}, {date: 2016-01-04 00:00:00, value: 12, ... ], [{date: 2016-01-01 00:00:00, value: 12}, {

因此,我将时间序列数据放在一个数组中,如下所示:

var data = [

[{date: 2016-01-01 00:00:00, value: 52}, 
{date: 2016-01-02 00:00:00, value: 23},
{date: 2016-01-03 00:00:00, value: 42},
{date: 2016-01-04 00:00:00, value: 12,
...
],
[{date: 2016-01-01 00:00:00, value: 12}, 
{date: 2016-01-02 00:00:00, value: 42},
{date: 2016-01-03 00:00:00, value: 35},
{date: 2016-01-04 00:00:00, value: 11},
...
],
...
]
其中,数据[i]表示作为整个数据数组一部分的组件的时间序列(数据在每天00:00:00收集)

我想做的是为每个{date,value}对象创建一个堆叠条形图,这样您就可以看到一部分表示
数据[0]
,一部分表示
数据[1],…,数据[data.length-1]


在d3中最好的方法是什么?谢谢

> P>这是一个可以考虑的方法的大纲,它只需要JavaScript和SVG:

  • 从每个日期值中减去一些常数的较早日期值,例如,unix系统使用1970年1月1日来计算以天为单位的时间差值,以便时间值成为一系列整数

  • 在html中,指定一个div,例如:

    <div id="data_display"></div>
    
    
    
  • 在您的脚本中(此处不完整,但只是为了获得基本想法):

    var dd=document.getElementByID(“数据显示”);
    dd.innerHTML=“”
    对于(i=0;ivar dd = document.getElementByID("data_display");
    dd.innerHTML = "<svg width='" + data.length + "' height='100'>"
    for (i = 0; i < data.length; i++) {
       dd.innerHTML += "<rect x='" + data[i] + "' y='...
    }
    dd.innerHTML += "</svg>"