在d3中合并多个系列

时间:2014-04-30 06:29:57

标签: javascript d3.js

我在这样的数组中有多个数据系列:

[
    {
        "key": "series1",
        "values": [
            {
                "x": 1378405800000, "y": 0
            },
            {
                "x": 1378407600000, "y": 0
            },
            ...
        ]
    },
    {
        "key": "series2",
        "values": [
            {
                "x": 1378405800000, "y": 0
            },
            {
                "x": 1378407600000, "y": 0
            },
            ...
        ]
    },
    ..
]

我使用以下内容合并它们:

var t = {};
var o = data2; //above data structure

for( srs = 0; srs < o.length; srs++ )
{
        key = o[srs]['key'];
        for ( ele = 0; ele < o[srs]['values'].length; ele++ )
        {
                mykey = o[srs]['values'][ele]['x'];
                if (!t.hasOwnProperty(mykey))
                t[mykey] = {};
                t[mykey]['x'] = o[srs]['values'][ele]['x'];
                t[mykey][key] = o[srs]['values'][ele]['y'];
        }
}

var multseries = [];
for (ele in t)
multseries.push(t[ele]);

Q1这可以通过d3.js API使用map或nest吗?

Q2使用或不使用d3.js有更好的方法吗?这将通过所有系列的每个元素一次,但一次一个系列。是否有可能按x的顺序合并(x-提取和合并元素)。如果系列中缺少某些元素也会怎样。

0 个答案:

没有答案