我想准备一个缐股高位图,就像这个例子:https://www.highcharts.com/demo/stock/lazy-loading
在给定的例子中,当你第一次加载图表时,它调用https://demo-live-data.highcharts.com/aapl-historical.json
并获取一些点,精确到0-165条记录(如果你检查网络选项卡和 AJAX 调用)。同时,在时间范围工具中选择All
选项。
如果您进一步深入查看或查看任何特定时间范围,则会始终从服务器获取更多数据。
问题:如果您有数百万个数据点,考虑从2000年到2022年,那么对于All
选项,您将显示什么。初始数据集或结果或过滤器应该是什么?
注意:我将拥有从2000年到2022年的数百万个数据点。当我第一次加载图表时,在这数百万个点中,服务器应该返回什么?
仅供参考,您可以检查我将在mock-data=>i.js
文件夹/文件中使用的时间序列数据示例,该示例目前尚未在以下示例中使用。
Highcharts 170万点示例:https://stackblitz.com/edit/js-wng4y6?file=index.js
- P.S.*:我是股票排行榜的新手,我似乎在任何地方都找不到任何合适的解释。试图向社区寻求进一步的帮助。
2条答案
按热度按时间olmpazwi1#
服务器端数据分组应基于您尝试对数据进行分组的范围来完成,因此“全部”没有任何意义-但是,在您的情况下,这将是2年。
对于数据分组,您还可以考虑图表的大小(这是Highcharts Stock中运行客户端的dataGrouping功能的默认设置)。当相关信息传递到服务器时,它应该返回一组分组的数据点。
关于分组逻辑,您可以在api选项中找到更多信息,其中是组内的近似方法。https://api.highcharts.com/highstock/series.area.dataGrouping.approximation
qhhrdooz2#
将这么多数据发送到highcharts进行处理是自找麻烦。我强烈建议创建一个本地highcharts服务器(他们支持的东西),并在您的系统中完成此操作。See it here
这一点在安全性方面也非常重要(如果你的数据是敏感的),让它在互联网上竞争,然后发送回你,让它向世界开放。
在这里,您还可以指定每个渲染的开始和结束时间,并根据用户输入进行更改。就我个人而言,我通常会显示最近5天或其他时间,然后如果有人愿意,他们可以将滑块一直拉回到最后一个重要的时间段。
但是,为了回答您的问题,当您将数据对象发送到highcharts(无论是本地服务器还是highcharts服务器)时,您将得到一个可以直接嵌入到UI中的base64图像。