HighCharts导航器在异步数据加载后保持范围。 (LazyLoad)

时间:2014-12-30 07:26:04

标签: javascript highcharts lazy-loading

我正在做类似于HighCharts Lazy Loader示例的操作。它有效,除了当我放大一个区域时,我获取更高分辨率的数据并通过

更新
chart.series[1].setData(data);

这会将导航器范围(极值?)重置为新传入数据的范围。我正在使用延迟加载示例所讨论的几乎所有内容,但没有用。

navigator:{adaptToUpdatedData:false},
scrollbar:{liveRedraw:false}

感谢。

3 个答案:

答案 0 :(得分:2)

为什么使用:

chart.series[1].setData(data);

我很确定应该有:

chart.series[0].setData(data);

简单地说,如果您在图表上只有一个系列,那么series[0] - >你的系列,series[1]是导航器中的系列。这很可能是您更新导航器的原因,但您想要更新系列。

答案 1 :(得分:1)

尝试在lazyload的回调中使用setExtreme函数。 http://api.highcharts.com/highstock#xAxis.events.setExtremes

答案 2 :(得分:1)

我想这样做的唯一方法是使新数据数组与空值匹配到所需范围。

http://forums.highcharts.com/highstock-usage/any-way-to-force-x-axis-extremes-to-match-selected-timeframe-t31154/