如何处理大数据集的 HighCharts 缩放

How to handle HighCharts zooming with large data sets

我有一个 HighCharts 图表,显示的是每分钟都有一个值的趋势。所以在给定的一天我将有 1440 个数据点,因为 24 小时 = 1440 分钟。

当我显示一两天的数据时,这很好。但是如果我显示 4 周,我将有 40,000 个数据点。我可以非常快速地从服务器读取这些数据,但是 HighCharts 需要几分钟来构建图表。

我建议的解决方案是在服务器端插入数据,这样我们将在 4 周内获得 1000 个点,或者每 43 分钟一个值。然后,当用户缩放时,使用AJAX再次从服务器读取数据。

是我把事情搞得一团糟还是这是正常情况?有没有办法让 HighCharts 为我做这样的事情(而且很快)?我已经尝试了 HighCharts DownSample Plugin 但最初的缓慢(构建图表需要 2-3 分钟)仍然存在。

事实上,您想使用 Highstock,dataGrouping. Demo here

如果你不会使用 Highstock,那可能就很难了。但是,检查 this ticket - 这是 Highcharts 的实验性插件,使用 canvas 来渲染大量点。当然 IE6/7/8 不在讨论之列。

关于按需加载数据,检查lazy loading article. Yes, it refers to Highstock, but should be possible to use the same solution in Highcharts. Demo here