使用嵌套的Json创建带有amcharts的图表

时间:2017-04-05 08:33:33

标签: json amcharts

我需要使用AmCharts创建一个序列图,但我无法用它来绘制嵌套的bySexeDto数组的nbre值。

这是我的JSON structure

如何让AmCharts绘制嵌套结构?

Desired output

1 个答案:

答案 0 :(得分:0)

AmCharts在绘制图表时不会查看嵌套的JSON结构。您必须将bySexeDto字段中的嵌套数组作为其自己的单独元素移动到顶层。

这是一个示例,它将您的数组并将其展平为一个类似于{"category": "...", "value0": ..., "value1": ...}的对象数组

//remap the array by flattening it into a compatible AmCharts dataProvider array with a matching categoryField and valueFields for each graph.
//this returns an array of {"category": "...", "value0": ..., "value1": ..., /* etc ... */}
var processedChartData = rawData.map(function(rawDataElement) {
  var newDataElement = { "category": rawDataElement.libelleAr };
  rawDataElement.bySexeDto.forEach(function(nestedElement, index) {
    newDataElement["value" + index] = nestedElement.nbre;
    newDataElement["subcategory" + index] = nestedElement.libelleAr; //for balloonText purposes
  });
  return newDataElement;
});

Demo

如果您需要原始数组中的额外字段,请修改代码以将其包含在newDataElement结构中。