2013-03-14 7 views
9

मेरे पास एकाधिक श्रृंखला वाले हाइचर हैं और प्रत्येक श्रृंखला के लिए 'चयन करें'। मेरा उद्देश्य 'चयन' के माध्यम से श्रृंखला प्रकार को बदलना है।हाइचार्ट्स डेटा श्रृंखला प्रकार को गतिशील रूप से बदलना

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

मैं समझता हूं कि हर बार प्रकार बदल जाता है, श्रृंखला को सरणी में इसकी वर्तमान स्थिति से निकाल दिया जाएगा और अंत में जोड़ा जाएगा। वर्तमान में मैं केवल श्रृंखला श्रृंखला को बदल सकता हूं जो स्थिति श्रृंखला [0] में है।

मैं किसी अन्य श्रृंखला को कैसे बदल सकता हूं न केवल श्रृंखला [0]?

मैंने इसी तरह के प्रश्न here को देखा लेकिन इसे काम करने में काफी कुछ नहीं मिला।

मेरा नमूना कोड jsFiddle में।

उत्तर

16

आप v3.0 Highcharts उपयोग कर सकते हैं शामिल series.update() विधि है, जो चार्ट के प्रकार बदलने के लिए, गतिशील रूप से अनुमति देता है।

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- रिलीज़ –

+0

बहुत बढ़िया। धन्यवाद सेबेस्टियन! – JCab

+0

यह उत्तर – Keelan

0

आपने उसी प्रश्न में लिंक किए गए लूप को क्यों शामिल नहीं किया?

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

रखो कि प्रत्येक प्रकार के लिए जगह में - http://jsfiddle.net/waBck/5/

+0

धन्यवाद ब्लेक, कि मैं वास्तव में क्या जरूरत है। – agri

+1

। @ सेबेस्टियन बोचन के जवाब में अपडेटेट एक बेहतर विकल्प है। – Oliver

संबंधित मुद्दे