我正在尝试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/
答案 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])}