0

所以我终于设法生成了一个图表,但问题是由于某种原因没有显示来自 JSON 的数据 - 即我得到一个空白图表。

在图表选项中,我只有:

series : [{
    name: '2000',
    data: [],
}]

AJAX 调用如下所示:

$.ajax({
    url : 'data.php',
    datatype : 'json',
    success : function (json) {
        options.series[0].data = json['data'];
        chart = new Highcharts.Chart(options);
    },
});
}

data.php 输出如下所示:

{"data":[-1.4,-1.4,-1.3,-1.3,-1.3,-1.3,-1.3,-1.2,-1.3,-1.2,-1.2,-1.2]}

当我尝试了所有方法时,我变得绝望,但仍然得到一个没有数据的空白图表。

4

2 回答 2

1

如果您使用的是 Internet Explorer,那些多余的逗号会给您带来麻烦。

series : [{
    name: '2000',
    data: []
}]

$.ajax({
    url : 'data.php',
    datatype : 'json',
    success : function (json) {
        options.series[0].data = json['data'];
        chart = new Highcharts.Chart(options);
    }
});
}
于 2013-10-21T21:20:18.020 回答
0

您的 json 值很可能以字符串形式返回,但 highcharts 需要数字。

在你的 data.php 中尝试在 json_encoding 之前输入你的变量:

array_push($myArray, (float)$value);
return json_encode(myArray);

如果您的 highcharts 数据如下所示:

["-1.4","-1.4","-1.3","-1.3","-1.3","-1.3","-1.3","-1.2","-1.3","-1.2","-1.2","-1.2"]

它不会渲染,它需要是直数:

[-1.4,-1.4,-1.3,-1.3,-1.3,-1.3,-1.3,-1.2,-1.3,-1.2,-1.2,-1.2]
于 2013-10-21T21:23:06.677 回答