在D3中更改条形图中的Json数组

时间:2014-02-20 15:43:26

标签: javascript arrays json d3.js data-visualization

如果我在D3.js中有一个数组。

data =
[
   {"english":"200","non_english":"100","area":"North"} 
   {"english":"200","non_english":"102","area":"South"} 
   {"english":"200","non_english":"103","area":"East"} 
]

如何连接或组合数组,如下所示。

 data =
    [
       {"englishBoth":"200,100", "area":"North"} 
       {"englishBoth":"200,102" , "area":"South"} 
       {"englishBOth":"200,103","area":"East"} 
    ]

将英语和非英语的值放在一起,但每秒的值等于非英语。

所以,如果我使用

.attr("y", function(d,i) { return y(data[1].englishBoth); }) 

作为D3条形图的y属性,它将返回两个值,并且可以生成两个条形段。

1 个答案:

答案 0 :(得分:0)

您可以使用for循环

for (i=0;i< data.length;i++) {
    //as string 
    data[i].englishBoth = data[i].english + ", " + data[i].non_english;

    //or as array 
    data[i].englishBoth = [data[i].english, data[i].non_english];

    delete(data[i].non_english);
    delete(data[i].english);
}