我的序列化方法产生如下的日期时间字符串:" 2014-07-09T12:30:41Z"
为什么以下代码不起作用?
$(function () {
$('#container').highcharts({
xAxis: {
type: 'datetime'
},
series: [{
data: [
{x:"2014-07-09T12:30:41Z",y: 29.9},
{x:"2014-09-09T12:30:41Z", y:71.5}
],
name: "Teste"
}]
});
});
这段代码完美无缺:
$(function () {
$('#container').highcharts({
xAxis: {
type: 'datetime'
},
series: [{
data: [
{x:Date.UTC(2014, 0, 1),y: 50},
{x:Date.UTC(2014, 2, 1), y:20}
],
name: "Teste2"
}]
});
});
如何转换日期时间格式或配置高级图表以使用我的数据?
答案 0 :(得分:5)
显然,Highcharts必须期望日期为自“1970年1月1日00:00:00”世界时间以来的毫秒数,这是Date.UTC()
检索的内容,因此您可以完成相同的操作:
series: [{
data: [
{x:(new Date("2014-07-09T12:30:41Z")).getTime(),y: 29.9},
{x:(new Date("2014-09-09T12:30:41Z")).getTime(), y:71.5}
],
name: "Teste"
}]
答案 1 :(得分:3)
您可以在图表中使用之前预处理数据。示例 - http://jsfiddle.net/Jx5n2/3851/
var data = [{
x: "2014-07-09T12:30:41Z",
y: 29.9
}, {
x: "2014-09-09T12:30:41Z",
y: 71.5
}],
len = data.length,
i = 0,
outData = [];
for (i = 0; i < len; i++) {
outData[i] = {
x: Date.parse(data[i].x),
y: data[i].y
}
}
$(function () {
$('#container').highcharts({
xAxis: {
type: 'datetime'
},
series: [{
data: outData
}]
});
});