2013-03-14 15 views
9

Mam Highcharts z wieloma seriami i "wybierz" dla każdej serii. Moim celem jest zmiana typu serii za pomocą "wybierz".Zmiana typu danych Highcharts serii dynamicznie

Rozumiem, że za każdym razem, gdy typ zostanie zmieniony, seria zostanie usunięta z bieżącej pozycji w tablicy i dodana do końca. Obecnie mogę zmienić tylko serię, która znajduje się w serii pozycji [0].

Jak zmienić dowolną inną serię, a nie tylko serię [0]?

Widziałem podobne pytanie here, ale nie mogłem go uruchomić.

Mój przykładowy kod w jsFiddle.

Odpowiedz

16

Można użyć highcharts v3.0 zawiera metodę series.update(), która pozwala zmienić typ wykresu, dynamicznie.

http://jsfiddle.net/8Sg8K/1

chart.series[0].update({ 
       type: "column" 
      }); 
+0

Został dodany w sekcji head, http://www.highcharts.com/component/content/article/2-news/53-highcharts-3-0-beta-released –

+0

Awesome. Dziękuję Sebastian! – JCab

+0

To powinno być odpowiedzią – Keelan

0

Dlaczego nie uwzględniłeś pętli, do której linkowałeś w podobnym pytaniu?

$('#ChType').change(function(){ 
    var series; 

    for (i = 0 ; i < chart.series.length ; i++) { 
      if (chart.series[i].name == 'MyData1') { 
       series = chart.series[i]; 

      }     
     } 
       //var series = chart.series[0] 
       var newType = series.type == $('#ChType').val() ? $('#ChType').val() 

Put, że w miejscu, dla każdego typu - http://jsfiddle.net/waBck/5/

+0

Dzięki Blake, to jest dokładnie to, co potrzebne. – agri

+1

.update w odpowiedzi @Sebastian Bochan jest lepszym rozwiązaniem. – Oliver