将字符串变量传递给数据Highchart

时间:2017-11-28 11:44:19

标签: javascript highcharts

我有一个函数来创建我的字符串数组并将此值传递给highchart中的数据。

(function ($, window, myapp) {
    $(document).ready(function () {

        console.log('the data array', myApp.dataArray);
        var conteudo = [];
        for (var i = 0; i < myApp.dataArray.length; i++) {

            conteudo += "[\""
            conteudo += myApp.dataArray[i][0];
            conteudo += "\",";
            conteudo += myApp.dataArray[i][1];

            if (i == myApp.dataArray.length-1) {
                conteudo += "]";
            } else {
                conteudo += "],";
            }

        }


        console.log(conteudo);
        chart(conteudo);

    });
})(jQuery, window, myApp);

结果console.log在变量conteudo上是正确的 [ “2017年11月21日”,600000],[ “2017年11月22日”, - 1200000],[ “2017年11月23日”,300000]

问题是将conteudo变量传递给hightchart:

        series: [{
            name: 'Hours',
            colorByPoint: true,
           
                    data: [
                    
                   conteudo

                ]
            
        }]

1 个答案:

答案 0 :(得分:1)

我认为你应该将数组对象传递给数据字段。无需转换为字符串。

另外

  

[ “2017年11月21日”,600000],[ “2017年11月22日”, - 1200000],[ “2017年11月23日”,300000]

这不是字符串数组。

据我了解你正试图做这样的事情:

data: [{
  name: '2017-11-21',
  y: 600000
}, {
  name: '2017-11-22',
  y: -1200000
}]

您可以查看示例 http://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/series/data-array-of-objects/