2013-04-17 12 views
5

एक ajax कॉल मैं निम्न डेटा वापस पाने से:Highcharts श्रृंखला डेटा सरणी

18,635,21,177,20,165,22,163,24,162,25,145,19,143,23,139,26,112,27,110,28,104,30,91,29,88,31,68,32,57,36,55,34,53,33,51,35,46,37,44,39,42,43,39,42,39,41,38,38,37,44,36,45,34,48,31,40,31,47,27,49,23,46,21,50,21,52,17,55,17,53,16,51,15,54,12,58,6,57,6,59,4,63,4,56,3,62,2,64,2,100,2,68,1,78,1,60,1,97,1,70,1,65,1,69,1,71,1 

जो के हर सम संख्या कुंजी और हर विषम मूल्य होना चाहिए। लेकिन मुझे नहीं पता कि इसे हाईचार्ट्स डेटा के रूप में कैसे पार्स करना है। अगर मैं JSON.parse का उपयोग करता हूं और सामान्य रूप से काम करने के लिए इसे प्राप्त करने का एकमात्र तरीका यह है कि इसे सीधे इस तरह के श्रृंखला डेटा में डालकर (विषम और यहां तक ​​कि पृथक सरणी में) के बाद भी मैं "टुकड़ा" होने की कुंजी के साथ समाप्त होता हूं। :

[names[0] + ' years old', parseFloat(values[0])] 

जो बढ़िया है। लेकिन फिर मुझे किसी भी तरह से सरणी के माध्यम से लूप करने की ज़रूरत है, सब कुछ श्रृंखला डेटा में धक्का दे रहा है और मुझे नहीं पता कि यह कैसे करना है। यदि मैं इस डेटा के साथ लूप बना देता हूं, तो मैं हाईचार्ट्स श्रृंखला डेटा में कैसे सम्मिलित करूं?

+0

डेटा को दो सरणी में अलग करना आपकी समस्या है? क्या आप कुछ कोड साझा कर सकते हैं? – shakib

उत्तर

13

आप एक सरणी में उस श्रृंखला डेटा है, तो आप इसे इस प्रकार की प्रक्रिया कर सकते हैं:

var myData = [18, 635, 21, 177, 20, 165, 22, 163, 24, 162, 25, 145, 19, 143, 
      23, 139, 26, 112, 27, 110, 28, 104, 30, 91, 29, 88, 31, 68, 32, 
      57, 36, 55, 34, 53, 33, 51, 35, 46, 37, 44, 39, 42, 43, 39, 42, 
      39, 41, 38, 38, 37, 44, 36, 45, 34, 48, 31, 40, 31, 47, 27, 49, 
      23, 46, 21, 50, 21, 52, 17, 55, 17, 53, 16, 51, 15, 54, 12, 58, 6, 
      57, 6, 59, 4, 63, 4, 56, 3, 62, 2, 64, 2, 100, 2, 68, 1, 78, 1, 60, 
      1, 97, 1, 70, 1, 65, 1, 69, 1, 71, 1]; 
var mySeries = []; 
    for (var i = 0; i < myData.length; i++) { 
     mySeries.push([myData[i], myData[i + 1]]); 
     i++ 
    } 

एक बार जब आप 'mySeries' में अपनी श्रृंखला डेटा है, तो आप सिर्फ अपने चार्ट डेटा का उपयोग कर सेट कर सकते हैं:

series:[{ 
    data: mySeries 
}] 

वैकल्पिक रूप से, आप चार्ट प्रतिपादन के बाद डेटा जोड़ना चाहते हैं, तो आप श्रृंखला डेटा गतिशील का उपयोग कर जोड़ सकते हैं:

chart.series[0].setData(mySeries); 

http://jsfiddle.net/Cm3Ps/ ('मेरा डेटा जोड़ें' बटन दबाएं)।

1

असल में, फ़ंक्शन को int की सरणी के रूप में पैरामीटर की आवश्यकता होती है।

मान लें कि आप एक समारोह मिल

drawChartFunction(data) { 
    // some code here 
    series: [{ data: data}] 
} 

आप इसे करने की कोशिश कर सकते हैं:

array = {9,8,7,6} 
var series = []; 
for (var i = 0; i < array.length; i++) { 
    series.push([i, array.[i]]); 
} 

for मार डाला के बाद, अपने series पसंद करती है

0,9 
1,8 
2,7 
3,6 

उसके बाद, आप drawChartFunction(series)

फोन

तो आपका चार्ट 4 अंक 0 1 2 3 का उपयोग करके उनके मूल्य 9 8 7 6

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