如何在Javascript中使用setdata对象创建堆栈条形图

如何在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"

我将JSON数据作为

{
  "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中创建-例如。