[英]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.