我想根据以下JSON(从HQL-hibernate Java Play框架收到)绘制C3js饼图... JSON看起来像这样(这是动态数据):
{"ug":["K","M2","M3","M4"],"wtv":[10,20,35,60]}
HTML:
<div id="chart"></div>
JS(我实际尝试过的):
var json ={"ug":["K","M2","M3","M4"],"wtv":[10,20,35,60]};
var ug =json.ug;
var wtv=json.wtv;
var chart = c3.generate({
data: {
json: {
ug:wtv[0],
ug1:wtv[1],
ug2:wtv[2],
ug3:wtv[3],
},
type : 'pie',
}
});
Here is a fiddle for reference.
在ug,ug1,ug2,ug3的地方我需要K,M2,M3,M4(需要注意的是这些是动态数据) 任何人都可以帮助我操纵数据以根据需要绘制饼图吗? 我希望在后端改变JSON的结构不是唯一的解决方案(虽然在我的情况下很难)。任何其他解决方案都表示赞赏。
答案 0 :(得分:2)
只要"ug"
和"wtv"
具有相同数量的元素......
var json = {"ug":["K","M2","M3","M4"],"wtv":[10,20,35,60]};
var pieJson = {};
json.ug.forEach(function (ug, index) {
pieJson[ug] = json.wtv[index];
});
var chart = c3.generate({
data: {
// iris data from R
json: pieJson,
type : 'pie',
}
});