如何向动画时间线饼图提供数据?

时间:2017-09-28 17:43:54

标签: javascript arrays multidimensional-array amcharts

我正在尝试在运行时为Animated Time-Line Pie Chart

动态推送数据

以下是代码:

var array = new Array();
function pushvalue(curyear,curmonth,monvalue){
        array.push({year: curyear, month: curmonth, count: moncount});
}
var chartdata = new Array();
for (var i=1; i < array.length; i++){
     chartdata = {
             “Year”: array[i].year: [
                          { “Month”: array[i].month, “Count”: array[i].count }, ] };
}

数组的值来自文件输入。 我得到的问题是chartdata无法获得与对象年分配给它的值,如果我在”Year”: array[i].year之后包含或排除':',它会显示错误,如预期的'}'或语法错误p>

我可以知道我做错了什么以及如何解决这个问题? 谢谢!

1 个答案:

答案 0 :(得分:0)

分配新年的语法错误。你不能做“年”:varname:[...]在一行。您需要将其更改为以下内容:

for (var i = 0; i < array.length; ++i) {
  if (!chartData[array[i].year]) {
    chartData[array[i].year] = [];
  }
  chartData[array[i].year].push({"Month": array[i].month, "Count": array[i].count });
}

使用一些假值进行演示:http://jsfiddle.net/9428r6fw/4/

另请注意,您的pushvalue方法有误 - 您的计数参数名为monvalue,但您尝试推送moncount