简体   繁体   English

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

[英]Changing a Json Array in D3 for Bar Chart

If I have an array in D3.js. 如果我在D3.js中有一个数组。

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

How do I concatenate or combine the array to look like this below. 我如何串联或组合数组,如下所示。

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

Where the values of english and nonenglish are put together but with every second value is equal to non english. 将英语和非英语的值放在一起,但第二个值等于非英语的地方。

So if I used 所以如果我用

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

as the y attribute for a D3 bar chart it would return two values and two bar segments could be generated. 作为D3条形图的y属性,它将返回两个值,并且可以生成两个条形图。

You can use a for loop 您可以使用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);
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM