我正在使用JSON将数据提取到我的数据库。有没有办法xAxis转向6小时前,5小时前,4小时前,3小时前,2小时前,1小时前图表正在更新?因为我使用LM35将温度导入我的数据库。我真的需要你的帮助。 ( 对不起,我的英语不好)。提前致谢。这是我的代码
$(function () {
$(document).ready(function() {
Highcharts.setOptions({
global: {
useUTC: false
}
});
$(document).ready(function() {
var options = {
chart: {
renderTo: 'container',
type: 'line',
marginRight: 130,
marginBottom: 65,
},
title: {
text: 'Temperature Over Time',
x: -20 //center
},
subtitle: {
text: '',
x: -20
},
xAxis: {
tickInterval:12,
range:20,
categories:[]
},
scrollbar: {
enabled: true,
barBackgroundColor: 'gray',
barBorderRadius: 7,
barBorderWidth: 0,
buttonBackgroundColor: 'gray',
buttonBorderWidth: 0,
buttonArrowColor: 'yellow',
buttonBorderRadius: 7,
rifleColor: 'yellow',
trackBackgroundColor: 'white',
trackBorderWidth: 1,
trackBorderColor: 'silver',
trackBorderRadius: 7
},
yAxis: {
min:0,
max: 40,
title: {
text: 'Temperature',
},
plotLines: [{
value: 0,
width: 1,
color: '#808080'
}]
},
tooltip: {
formatter: function() {
return '<b>'+ this.series.name +'</b><br/>'+
this.x +': '+ this.y;
}
},
legend: {
layout: 'vertical',
align: 'right',
verticalAlign: 'top',
x: -10,
y: 100,
borderWidth: 0
},
series: []
}
refreshDiv();
$(window).scrollLeft($(window).width());
setInterval(refreshDiv, 300000);
function refreshDiv(){
$.getJSON("data.php", function(json) {
options.xAxis.categories = json[0]['data'];
options.series[0] = json[1];
chart = new Highcharts.Chart(options);
});
}
});
});
});
答案 0 :(得分:0)
而不是这段代码:
$.getJSON("data.php", function(json) {
options.xAxis.categories = json[0]['data'];
options.series[0] = json[1];
chart = new Highcharts.Chart(options);
});
您可以使用setCategories函数和setData,但我建议创建图表,然后仅在示例中使用addPoint函数,例如:http://www.highcharts.com/demo/dynamic-update。如果xAxis不正确,您可以使用日期时间type和反向参数](http://api.highcharts.com/highcharts#xAxis.reversed)