2013-03-06 1 views
9

У меня проблема с навигатором Highstock, всегда отображающим 1970-1-1 как начальную точку при создании динамических рядов и данных ... кто-нибудь столкнулся с этой проблемой и имеет некоторые обходные пути?Highstock Navigator всегда начинается с 1970-1-1

Вот пример: http://jsfiddle.net/sokarovski/SRtvn/

var $container = $('.canvas'); 
var chart = new Highcharts.StockChart({ 
    chart: { 
     renderTo: $container[0] 
    }, 
    xAxis: { 
     type: 'datetime' , 
     ordinal: false 
    } 
}); 

chart.addSeries({ 
    data: [ 
     [Date.UTC(2013,1,1), 0], 
     [Date.UTC(2013,1,5), 10], 
     [Date.UTC(2013,1,15), 15], 
     [Date.UTC(2013,2,5), 20], 
     [Date.UTC(2013,2,28), 25], 
     [Date.UTC(2013,3,3), 30], 
    ]   
}); 

//I tried to fix it with this also but it does not help 
chart.xAxis[0].setExtremes(Date.UTC(2013,1,1), Date.UTC(2013,3,3)); 

ответ

3

Это вызвано, что навигатор не работает должным образом, когда вы пытаетесь addSeries/addPoint картировать, которые не имеют серии/данных. Эта ошибка сообщается здесь:

https://github.com/highslide-software/highcharts.com/issues/624

+1

Извините, что я искал все утро, чтобы найти дополнительную информацию об этом, так что в принципе нет обходного пути, даже если я устанавливаю его как-то вручную каждый раз, когда данные загружаются? – thejigsaw

+0

Я предлагаю добавить по крайней мере одну серию с данными, а затем использовать addSeries. –

+1

Даже после того, как вы добавили следующую серию, навигатор снова завинчивается ... :(Мой блейд-код требует удаления всех серий и размещения новых, это не настоящие живые данные, просто просматривающие историю и разные данные. думаю, что уничтожение Highstock и создание нового Highstock - лучший вариант? У меня возникли проблемы с утечками памяти в браузерах с js, так как они не справляются с ними очень хорошо ... – thejigsaw

0

То, что мы делаем, мы заранее получать наши данные, которые мы хотим добавить к диаграмме и принять первую точку и создать ряд на графике акции с только, что какой-то момент , Затем мы вызываем код добавления данных, чтобы добавить остальные точки, чтобы диаграмма «играла».

Теперь, если вы не знаете, какие данные вы собираетесь получить первым (например, вы позволяете пользователю нажимать кнопку, чтобы показать данные1 или data2, и у вас нет значения по умолчанию), вы можете создать свою диаграмму, но скрыть Это. Используя загрузку options. Таким образом, вы создаете пустую диаграмму и не показываете ее до тех пор, пока пользователь не выберет данные.