使用大型数据集(50000+)用于"标记"系列类型我遇到了巨大的内存使用情况,导致暂时浏览器挂起和无响应的网页。
In this jsfiddle有2个评论系列,两个都有10,000个值,但有一个系列类型" line"另一种类型" flags",使用Chrome的任务管理器,您可以看到两者之间的内存使用量差异很大(10 MB对155 MB)(一次取消注释一个系列,它会降低浏览器的速度。)
这里我留下测试代码,但只有2个数据值,jsfiddle有10,000个。
$(function () {
$.getJSON('https://www.highcharts.com/samples/data/jsonp.php?filename=usdeur.json&callback=?', function (data) {
$('#container').highcharts('StockChart', {
series: [
///*
{type: 'line',
name: 'Line on series',
turboThreshold: 0,
data:[[1465241389],[1465242389]]
}
//*/
/*
{type: 'flags',
name: 'Flags on series',
turboThreshold: 0,
data: [{x:1465241389,title:''},{x:1465242389,title:''}],
onSeries: '',
shape: 'squarepin'
}
*/
]});
});
});
看看highstock src我注意到在initSeries方法中调用了merge函数。该函数复制了系列对象,包括它的所有数据(示例中为10,000个值),我不知道它为什么要这样做。
有没有办法用简单数组指定标志数据?或者在没有页面悬挂的情况下使用超过50,000个标志值的方法?
编辑:
以下是使用" line":http://jsfiddle.net/vzf3vr2p/1/的示例 这是使用" flags":http://jsfiddle.net/50zab8tc/15/
类型的示例