2012-10-31 16 views
6

Chcę wyświetlić wiele lat historycznych danych o stanie w HighChart. Rozmiar danych json dla wszystkich lat wynosi 5 MB, dlatego chcę uniknąć ładowania wszystkich naraz. Zwłaszcza, że ​​większość użytkowników potrzebuje tylko ostatnich 6 miesięcy.HighStock: Ładowanie danych seryjnych w razie potrzeby asynchronicznie

Chciałbym przynieść początkowo pierwsze 6 miesięcy. Jeśli użytkownik pomniejszy lub cofnie się w czasie, chciałbym załadować całe dane. Czy ktoś ma na to przepis? Jaki jest punkt wyjścia? Czy są jakieś zdarzenia HighChart, których mogłem słuchać, aby otrzymywać powiadomienia, gdy użytkownik pomniejszy lub poruszy?

Odpowiedz

8

Szukacie wydarzenia xAxis.events.setExtremes.

Będziesz musiał połączyć go z w pętli z opcją odrysowania jako false w środku i jawnie wywołać Chart.redraw() po zapętleniu wszystkich nowo dodanych punktów.

Być może trzeba spojrzeć @navigator.series Ponieważ seria nawigator może wymagać, aby być różna od rzeczywistej serii

+0

dzięki. Jak mogę się dowiedzieć, kiedy muszę załadować więcej danych? – Erik

+0

xAxis.events.setExtremes to zdarzenie, które chcesz obsłużyć, da ci nowe min i maksimum, możesz zachować kartę zakresu czasowego, dla którego masz już dane, przechowując je w js, a następnie pobrać dane to nie jest. –

+0

Okay! Czy istnieje sposób, aby pokazać użytkownikowi, że trwa ładowanie? – Erik

Powiązane problemy