Javascript Highcharts为柱形图创建系列
给定此数据,我在填充Highcharts柱形图的系列部分时遇到问题。请注意,col1、col2、col3是动态创建的,因此这些名称可以更改,值的数量也可以更改Javascript Highcharts为柱形图创建系列,javascript,jquery,graph,highcharts,series,Javascript,Jquery,Graph,Highcharts,Series,给定此数据,我在填充Highcharts柱形图的系列部分时遇到问题。请注意,col1、col2、col3是动态创建的,因此这些名称可以更改,值的数量也可以更改 var objData = { "1995":{ "col1":300.75, "col2":1000, "col3":500 }, "1996":{ "col1":300, "c
var objData = {
"1995":{
"col1":300.75,
"col2":1000,
"col3":500
},
"1996":{
"col1":300,
"col2":400,
"col3":900}
}
这是我在系列部分中想要的:
series: [{
name: 'col1',
data: [300.75,300]
},
{
name: 'col2',
data: [1000,400]
},
{
name: 'col3',
data: [500,900]
}
];
我创建了一个JS提琴:并尝试构建一个循环,但没有成功
如果有人能帮忙,那就太好了
谢谢
干杯看看这把小提琴中的解决方案:
for(objData中的var键){
//控制台日志(键);1995年、1996年
var obj=objData[key];
类别。推送(按键);
用于(obj中的var项目){
var目标系列;
var bFound=假;
对于(变量i=0;i
for (var key in objData) {
//console.log(key); 1995, 1996
var obj = objData[key];
categories.push(key);
for (var item in obj) {
var targetSeries ;
var bFound = false;
for(var i=0; i< series.length; i++){
if(item == series[i].name){
bFound = true;
targetSeries = series[i];
}
}
if(!bFound) {
targetSeries = {'name': item, 'data':[]};
series.push(targetSeries);
}
var val = obj[item]
targetSeries.data.push(val);
}
}