【问题标题】:HighStock: Loading series data asynchronously as neededHighStock:根据需要异步加载系列数据
【发布时间】:2012-11-15 23:49:27
【问题描述】:

我想在 HighChart 中显示多年的历史股票数据。多年来的 json 数据大小是 5mb,为什么我想避免一次加载。尤其是因为大多数用户只需要最后 6 个月。

我想最初获取前 6 个月。如果用户及时缩小或“向后移动”,我想加载整个数据。有人有这个食谱吗?起点是什么?是否有任何我可以收听的 HighChart 事件,以便在用户缩小或移动时收到通知?

【问题讨论】:

    标签: highcharts highstock


    【解决方案1】:

    您正在寻找 xAxis.events.setExtremes 事件。

    您需要在循环中将其与Series.addPoint(Object options, [Boolean redraw], [Boolean shift], [Mixed animation]) 组合,其中redraw 选项为false,并在循环所有新添加的点后显式调用Chart.redraw()

    您可能还需要查看@navigator.series,因为您的导航器系列可能需要与实际系列不同

    【讨论】:

    • 谢谢。我如何知道何时需要加载更多数据?
    • xAxis.events.setExtremes 是您要处理的事件,它将为您提供新的最小值和最大值,您可以通过存储它来保留已有数据的时间范围的选项卡在js中,然后获取不存在的数据。
    • 好的!有没有办法向用户显示正在加载?
    • 我强烈建议您查看 Highcharts API 参考,它对于一些方便的 jsFiddle 示例非常有用。要回答您的问题 Chart.showLoading()Chart.hideLoading() 可以显式调用以显示和隐藏此类指标,@Erik
    • 我知道,但如果我调用 Chart.showLoading() 数据系列仍会显示。反正我会试试的
    猜你喜欢
    • 2013-02-04
    • 2023-01-22
    • 1970-01-01
    • 2022-01-19
    • 2018-08-13
    • 2017-03-21
    • 2021-01-03
    • 2020-11-24
    • 1970-01-01
    相关资源
    最近更新 更多