如何在Javascript中使用setdata对象创建堆栈条形图
我将JSON数据作为如何在Javascript中使用setdata对象创建堆栈条形图,javascript,jquery,highcharts,Javascript,Jquery,Highcharts,我将JSON数据作为 { "data":[ { "month" : "January", "name" : "John", "count" : 10 }, { "month" : "January", "name" : "Jane", "count" : 15 } ] }, { "data":[ { "month" : "February", "name" : "Mark"
{
"data":[
{ "month" : "January",
"name" : "John",
"count" : 10
},
{
"month" : "January",
"name" : "Jane",
"count" : 15
}
]
},
{
"data":[
{ "month" : "February",
"name" : "Mark",
"count" : 20
},
{ "month" : "February",
"name" : "Max",
"count" : 30
}
]
}
示例如下:
如何将setdata对象引用到堆栈条形图?我尝试
console.log(setdata[0]['data'][0]['month'])代码>
返回“一月”它的工作发现,但
for(i=0 ; i<result.length ; i++){
console.log(setdata[i]['data'][i]['month']);
}
对于(i=0;i您可以使用d3堆叠条形图-
let innerColumns = {
'column1': ['value3'],
'column2': ['value1', 'value2'],
};
let dataset = d3.layout.stack()(['value1', 'value2', 'value3'].map((value) => {
return data.map((d: any) => {
return { x: obj[d.xAxis], y: d.value };
});
}));
let x = d3.scale.ordinal()
.domain(dataset[0].map((d) => { return d.x; }))
.rangeBands([0, width], 1);
let y = d3.scale.linear()
.domain([0, d3.max(dataset, (d) => {
return d3.max(d, (d1) => { return d1.y0 + d1.y; });
})])
.range([height, 0]);
更多信息:
您缺少一个“,”,在“name”的值之后需要一个逗号。您的JSON
无效。请验证JSON
此处的setdata
是什么?var setdata=[{data:[]}];请在JSFiddle中创建-例如。