2016-12-28 7 views
0

У меня очень простой graph, который показывает часть большого объема данных. Я хочу превратить его в график с помощью панели навигации, чтобы пользователь мог выбрать, какую часть он хочет видеть.Highcharts. Асинхронная загрузка части данных

Когда карта только что открыта, она должна показывать только доступные данные, а в панели навигации должна быть выбрана та же часть. Первоначально доступные данные начинаются. Так ожидаемый результат:

enter image description here

Мой первый attempt было использовать xAxis свойства:

xAxis: { 
    ... 
    min: 0, 
    max: 1000, // all data 
    range: 100 // current part 
} 

Но в этом случае на панели навигации неправильно кусочка отмеченными:

enter image description here

Также I tried для установки серии навигаторов с s Ома фиктивные данные:

navigator: { 
    enabled: true, 
    series: { 
    data: /* array of length 1000 */ 
    } 
}, 

xAxis: { 
    ... 
    min: 0, 
    max: 100 
}, 

В этом случае правая часть выбираются на панели навигации, но мои фиктивные данные там показаны также:

enter image description here

Есть идеи?

ответ

1

Используйте Axis.setExtremes() в случае события нагрузки и после получения данных, чтобы установить положение навигатора.

chart: { 
     events: { 
     load: function() { 
      this.xAxis[0].setExtremes(0, 100); 
     } 
     } 
    }, 

пример: http://jsfiddle.net/bjuyj2kk/1/

+0

Таким образом, нет никакой возможности конфигурации для этого? –

+0

Я не думаю, что есть возможность установить начальную позицию навигатора (есть [rangeselector.selected] (http://api.highcharts.com/highstock/rangeSelector.selected), но это не то, что вы ищете для). И, кроме того, если вы собираетесь получать данные динамически, вам придется иметь дело с ними с помощью динамических методов, таких как один из моего ответа. – morganfree

+0

Я вижу, спасибо –

Смежные вопросы