注意:重大更新。缓慢但肯定地(大多是缓慢地)到达那里
我有一个数组JSON数组,我需要从远程机器解析,但我在我的javascript中添加了一个结构示例。
它是一个数组数组,我需要从被调用的" epochtime"中提取一个纪元值。 (x轴)和"错误" (y轴)。 "节"可以忽略。我的代码在下面...小提琴在这里:https://jsfiddle.net/wilkiejane/uLuwazu3/4/
var data = [
[{
"epochtime": 1470456000000,
"errors": 2,
"nodes": 5
}],
[{
"epochtime": 1470484800000,
"errors": 7,
"nodes": 8
}],
[{
"epochtime": 1470715200000,
"errors": 10,
"nodes": 11
}],
[{
"epochtime": 1470855600000,
"errors": 15,
"nodes": 4
}],
[{
"epochtime": 1470866400000,
"errors": 10,
"nodes": 6
}],
[{
"epochtime": 1471024800000,
"errors": 12,
"nodes": 14
}]
]
var options = {
chart: {
renderTo: 'container',
type: 'spline'
},
xAxis: {
categories: []
},
series: [{
name: 'Errors',
data: []
}]
}
Highcharts.each(data, function(i,ecs) {
options.xAxis.categories.push(ecs.epochtime);
options.series.data.push(parseFloat(ecs.errors));
});
$('#container').highcharts(options);
我知道由于我解析了JSON,图形不是绘图。当我评论出Highcharts.each ...
Highcharts.each(data, function(i,ecs) {
options.xAxis.categories.push(ecs.epochtime);
options.series.data.push(parseFloat(ecs.errors));
});
并详细说明这样的类别和数据选项......
var options = {
chart: {
renderTo: 'container',
type: 'spline'
},
xAxis: {
categories: [1470456000000,1470484800000,1470715200000,1470855600000,1470866400000,1471024800000]
},
series: [{
name: 'Errors',
data: [2,7,10,15,10,12]
}]
}
它看起来很棒,很明显我的问题是试图拉动" epochtime"和"错误"价值观。任何建议都会非常感激。
答案 0 :(得分:1)
这完全取决于您希望如何在图表中显示数据。如果要在其上显示日期(而不是类别轴),则应该具有日期时间轴。如果你想从你提供的数据中得到一个包含点数的系列,你可以在这里找到如何将这些数据添加到你的图表的代码:
var options = {
xAxis: {
type: 'datetime'
},
series: [{
data: []
}]
}
Highcharts.each(data, function(p, i) {
for (var i = 0; i < p.length; i++) {
options.series[0].data.push(
[p[i].timeBucket, parseFloat(p[i].errors)]
);
}
});
在这里,您可以找到图表可以如何工作的实时示例:https://jsfiddle.net/uLuwazu3/17/