2013-04-13 12 views
10

Używam Highcharts wykresy i używam .setData aby zaktualizować dane na wykresie.Highcharts ładowanie animacji po setData

To wszystko działa dobrze, ale chciałbym wykorzystać animację ładowania (gdzie linia na wykresie rysuje się od lewej do prawej) być wyzwalany za każdym razem kasuje dane. Czy istnieje sposób na wywołanie tej animacji?

+0

domyślnie powinno animować myślę .. http://api.highcharts.com/ highcharts # chart.animation, czy możesz napisać skrzypce? – asifrc

Odpowiedz

6

Widzę metodę setVisible(): "Funkcja użyteczności do pokazania lub ukrycia serii z opcjonalnym przerysowaniem.". Myślę, że tego właśnie szukasz?

UPDATE: dodano JS Fiddle, patrz: http://jsfiddle.net/UTC6e/1/

Można więc najpierw setVisible false, a następnie ustawić nowe dane, a na koniec setVisible na true i powiedzieć wykres, aby przerysować (drugi argument logiczny).

chart.series[0].setVisible(false); 
chart.series[0].setData([229.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4, 29.9, 71.5, 106.4]); 
chart.series[0].setVisible(true, true); 
+1

To jest blisko tego, co szukam, ale nie excately co mam na myśli. Po kliknięciu uruchamiając możesz zobaczyć, że wykresy zostaną narysowane. Po kliknięciu zestaw danych zupełnie nowy zestaw danych zostanie załadowany i chcę go dostać odświeżana w taki sam sposób, jak wykres początkowo zostanie sporządzony – user1766412

10

Można usunąć aktualną serię i dodać nową. Początkowa animacja różni się od wszystkich innych (ścieżka animacji jest animowana, a nie sama seria).

patrz przykład: http://jsfiddle.net/UTC6e/2/

chart.series[0].remove(); 
    chart.addSeries({data:[229.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4, 29.9, 71.5, 106.4]}); 
+0

problem z tym jest to, że porusza się umieszczenie serii. –

+0

mógłbyś wyjaśnić? I dodać przykład na żywo? –

0

może po prostu ręcznie wywołać metodę odświeżania:

chart.redraw(); 
Powiązane problemy