[英]Proper JSON format for highcharts
我有一个mysql db喂养对我的图表。 它正在为pH计提供时间戳和传感器值。 当我加载图形时,我得到了显示时间戳和传感器值的工具提示,但是当它从数据库中连续输入时,工具提示显示为undefined作为我的时间戳,但是我构建的数组在那里。 我想尽可能具体。 我认为我错误地构建了json字符串,这就是为什么highcharts不知道如何处理它的原因。
这是我对php页面的回调:
events: {
load: function() {
var chart = this;
var series = this.series[0];
setInterval(function() {
$.getJSON("php/dataPhIncremental.php", function(data) {
// Only add data points if the latest date in the DB is different
if (!(chart.yAxis[0].dataMax == data[0].data[0])) {
$(chart.series).each(function(i, series) {
console.log(data[0]);
series.addPoint([data[0].timestamp[0], data[0].data[0]]);
});
}
else {
console.log("did not write point"+ oldPoint + " " + data[0].data);
}
})
}, 1000);
}
以为getJSON会转到php页面并选择json字符串,然后让highcharts用它来做它想要的事情。 我错了。
我的php json返回对象的示例:
[{"name":"pH","data":[4.76],"timestamp":["2015-12-23 12:31:42"]}]
这用于增量回调。 初始字符串包含10对。
尝试使用日期类型:
console.log(data[0]);
d = new Date(data[0].timestamp[0]);
series.addPoint(d, data[0].data[0]);
为您的xAxis尝试以下操作:
xAxis: {
type: 'datetime',
labels: {
formatter: function() {
return Highcharts.dateFormat('%e %b', this.value*1000); // milliseconds not seconds
},
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.