我正在构建包含大量一系列数据的高价图表。出于性能原因,我想首先加载最小的数据集,称为“Serie 1”(从一小时前到现在),之后我需要在两年前添加到“Serie 1”的下一个数据,直到一个一个小时前。 从2年前到现在,数据点每隔一分钟存储一次。
获取下一个点并绘制代码的方法如下:
$.getJSON('dashboard/values.php?start='+ min +'&end=' + max, function(myData) {
var seriesOptions = {
name: 'water depth',
yAxis: 0,
id: 'depth',
data: myData
};
var navigatorOptions = {
yAxis: 1,
data: myData
};
var obj = eval('[' + myData + ']');
seriesOptions.data = obj;
chart.addSeries(seriesOptions);
var nav = chart.get('navigator');
nav.setData(myData, false);
chart.xAxis[0].setExtremes();
});
我有两个问题需要弄清楚:
values.php文件是:
<?php
header('Content-Type: text/JSON');
//... some SQL connection and query stuff
if ($result = $mysqli->query($sql)) {
$emptyarray = array();
while($row = $result->fetch_assoc()) {
extract($row);
$emptyarray[] = "[$datetime, $water_depth]";
}
$result->free();
}
$mysqli->close();
echo json_encode($emptyarray);
此外,如果您有任何其他想法如何使用具有良好性能速度的大量数据显示图表,请分享。我不想创建四个数据表,分别保存分钟,小时,天和月的数据,如this article中所述。