我正在使用一个大型的CakePHP门户网站,我在其中使用了Highcharts进行了一些图形表示。
它几乎适用于所有简单的图形,但是当Query从数据库中检索大数据并尝试以高图绘制时,我的问题出现了。
以下是我尝试在HighChart中呈现的示例数据:
[series] => Array
(
[0] => Array
(
[name] => Name 1
[data] => Array
(
[0] => 1080
[1] => 25
[2] => 0.92
[3] => 19.5
[4] => 0
[5] => 0
[6] => 0
[7] => 0
[8] => 0
[9] => 0
[...] => 0
.
.
[320] => 0
)
)
.
.
.
.
.
[upto 400] => Array
(
[name] => Name 2
[data] => Array
(
[0] => 250
[1] => 25
[2] => 0.92
[3] => 19.5
[4] => 0
[5] => 0
[6] => 0
[7] => 0
[8] => 0
[9] => 0
[...] => 0
.
.
[320] => 0
)
)
)
但是在加载很长一段时间后,页面会转到白色空白页面。
有人可以帮帮我吗?非常感谢!
答案 0 :(得分:2)
请看下面的代码。
它还允许放大x和y。
var isReset = false;
...
xAxis: {
events: {
afterSetExtremes : afterSetExtremes,
setExtremes: function (e) {
if (e.max == null || e.min == null) {
isReset = true;
}
else
{
isReset = false;
}
}
},
minRange: 3600 * 1000 // one hour
},
series: [{
data: data,
dataGrouping: {
enabled: false
}
}]
});
});
});
/**
* Load new data depending on the selected min and max
*/
function afterSetExtremes(e) {
var url,
currentExtremes = this.getExtremes(),
range = e.max - e.min;
var chart = $('#container').highcharts();
var min = 0;
var max = 1.35e12;
if(!isReset)
{
min = e.min;
max = e.max;
}
chart.showLoading('Loading data from server...');
$.getJSON('http://www.highcharts.com/samples/data/from-sql.php?start=' + Math.round(min) +
'&end=' + Math.round(max) + '&callback=?', function (data) {
chart.series[0].setData(data);
chart.hideLoading();
});
}
感谢