高位图表不会显示数据

时间:2018-10-29 11:26:51

标签: javascript jquery highcharts

我正在尝试highcharts的时间序列可缩放表。我通过以下方式获取数据:

$.getJSON(
        '/Data/DailyTime',
        function (data) {
            var v = [];
            var temp;
            data.forEach(function (item) {
                temp = "[" + (item[0]+989) + ", " + item[1] + "]";
                v.push(temp);
            });
         alert(v); //line 10

         var opt_dailytime = {
                // ....
                // ....
                // ....
                series: [{
                        type: 'area',
                        data:  v
                        }]
                // ....
                // ....
                // ....

第10行中警报的输出是:

[1540772030989, 1],[1540772041989, 1],[1540772102989, 1],[1540793888989, 1], 
[1540805114989, 1],[1540807200989, 1],[1540820269989, 1],[1540831608989, 1], 
[1540832150989, 1],[1540832322989, 1],[1540833600989, 1],[1540834662989, 1], 
[1540834670989, 1],[1540834892989, 1],[1540835639989, 1],[1540835744989, 1], 
[1540836013989, 1],[1540836087989, 1],[1540836109989, 1],[1540842529989, 1], 
[1540842721989, 1],[1540847258989, 1],[1540847468989, 1],[1540856547989, 1]

当我在highchart选项中手动输入此数据时,它会正确显示:

series: [{
    type: 'area',
    data: [[1540772030989, 1],[1540772041989, 1],[1540772102989, 1],
          //........................................................
           [1540847258989, 1],[1540847468989, 1],[1540856547989, 1]]
}]

但是当我做类似的事情时:

series: [{
    type: 'area',
    data:  v
}]

series: [{
    type: 'area',
    data: "[" + v + "]"
}]

没有数据显示。

对不起,我知道我在这里一定很想念一些东西,但是我对javascript很陌生,所以请留意; m;

这是我的全部JavaScript,但具有手动添加的值: http://jsfiddle.net/vkm3hxo2/

1 个答案:

答案 0 :(得分:2)

您要将字符串推到数组中,它必须是数组或对象。

此行:

temp = "[" + (item[0]+989) + ", " + item[1] + "]";

需要成为

temp = [parseInt(item[0])+989, parseFloat(item[1])]

temp = {x: parseInt(item[0])+989, y: parseFloat(item[1])}