我正在做类似于HighCharts Lazy Loader示例的操作。它有效,除了当我放大一个区域时,我获取更高分辨率的数据并通过
更新chart.series[1].setData(data);
这会将导航器范围(极值?)重置为新传入数据的范围。我正在使用延迟加载示例所讨论的几乎所有内容,但没有用。
navigator:{adaptToUpdatedData:false},
scrollbar:{liveRedraw:false}
感谢。
答案 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/