How to display Dynamic Object Arrays into chart using Anychart.js

时光怂恿深爱的人放手 提交于 2021-02-11 15:52:57

问题


What i am trying to do is i want to display a chart based on my dynamic data i used Angular ForEach to loop through all my objects array see my code below:

var parse = JSON.parse(jsondata);

angular.forEach(parse, function (value, key) {
  var dataSet = anychart.data.set(value);
  var chart = anychart.column();
  var series = chart.column(value);
  chart.title("Data Sets: Array of Objects");
  chart.container("container");
  chart.draw();
});

it correctly display the count of my chart but the data of each object array is not showing up see picture below

but if put a static data like this :

var data = [
    {x:"January", value: 12000},
    {x:"February", value:  15000},
    {x:"March", value:  16000},
    {x:"April", value:  14000},
    {x:"May", value:  10000}
  ];

the chart displays correctly.

can anyone help me with this ? any help will greatly appreciated.


回答1:


Everything depends on the value content inside the loop. You are applying the value to the series and dataSet as well. If you are using dataSet, you should apply the value to the dataSet, map the data, then apply the mapping to the series. Like this:

  var dataSet = anychart.data.set(value);
  var mapping = dataSet.mapAs({'x': 0, 'value': 1}); // for example
  var chart = anychart.column();
  var series = chart.column(dataSet);

The mapping depends on your data. If the value includes ready-to-use data that matches the default mapping you can apply it directly to the series.

Can you share the value content?




回答2:


The chart can work with dynamic data. All you need is to apply new data to the existing dataSet, like this:

dataSet.data(newData);

And that's it! There's no need to recreate chart/series/dataSet.



来源:https://stackoverflow.com/questions/58498260/how-to-display-dynamic-object-arrays-into-chart-using-anychart-js

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!