2013-03-14 14 views
9

Her dizide birden çok seri içeren Highcharts ve 'select' var. Amacım seri tipini 'select' ile değiştirmektir.Highcharts veri serisini dinamik olarak değiştirme

$('#ChType').change(function() { 
    var series = chart.series[0] 
    var newType = $('#ChType').val(); 
    changeType(series, newType); 
}) 

$('#ChType2').change(function() { 
    var series = chart.series[1] 
    var newType = $('#ChType2').val(); 
    changeType(series, newType); 
}) 

function changeType(series, newType) { 
    var dataArray = [], 
     points = series.data; 
    series.chart.addSeries({ 
     type: newType, 
     name: series.name, 
     color: series.color, 
     data: series.options.data 
    }, false); 
    alert(series.name); 
    series.remove(); 
} 

Ben türü değişti alır her zaman yapacak, dizi bir dizide akım pozisyon kaldırılır alacak ve sonuna eklenen anlıyoruz. Şu anda sadece pozisyon serisindeki serileri değiştirebiliyorum [0].

Yalnızca diğer serileri değil [1] serilerini nasıl değiştirebilirim?

Benzer soru here görmekteydim ama işe yaramadı.

Örnek kodum jsFiddle.

cevap

16

Sen v3.0 Highcharts kullanabilirsiniz dinamik, grafik türünü değiştirmek için izin verir series.update() yöntemini dahil.

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

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

http://www.highcharts.com/component/content/article/2-news/53-highcharts-3-0-beta-released –

+0

Awesome adresinde başlık bölümüne eklenmiştir. Teşekkürler Sebastian! – JCab

+0

Bu cevap – Keelan

0

Niçin bağlandığınız döngüyü benzer soruda eklemediniz?

$('#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() 

her tip için yerinde koy - http://jsfiddle.net/waBck/5/

+0

Teşekkür Blake, bu tam olarak ne ihtiyaç var. @Sebastian Bochan'ın cevabı – agri

+1

.update daha iyi bir seçenektir. – Oliver

İlgili konular