2013-04-12 9 views
7

में स्वचालित रूप से अनुपलब्ध डेटा अंतराल में शामिल हों, मैं वर्तमान में एक्स-अक्ष श्रेणियों के महीनों का उपयोग करके Highcharts JS को अपने आवेदन में लागू करने के लिए देख रहा हूं।हाइचार्ट्स जेएस

हालांकि, मेरे पास मेरे डेटा में अंतर है, और चार्ट को स्वचालित रूप से अंतराल को जोड़ने की इच्छा है।

उदाहरण के लिए, यदि मेरे पास मार्च के लिए कोई डेटा नहीं है, तो मैं एक रैखिक रेखा से कनेक्ट करने के लिए फरवरी और अप्रैल चाहता हूं।

http://jsfiddle.net/kf26t/1/

data: [7.0, 10.0, null, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6] 

जैसा कि आप देख सकते हैं, वहाँ फरवरी और अप्रैल के बीच की रेखा में एक ब्रेक है:

Highcharts डेमो का उपयोग करना, मैं प्रदर्शित करने के लिए जो वर्तमान में डिफ़ॉल्ट रूप से होता डेटा संपादित किया है ।

मैंने श्रेणियों से कोई डेटा नहीं होने के महीनों को हटाने पर विचार किया है, लेकिन फिर यह एक खराब परिणाम देगा क्योंकि फरवरी और अप्रैल अप्रैल और मई के रूप में एक दूसरे से बराबर दूरी होगी, जो एक नहीं देगा सटीक प्रतिनिधित्व।

मैं 4 महीने दूर करने के लिए कर रहा हूँ, तो यह गलत प्रतिनिधित्व अतिरंजित है:

http://jsfiddle.net/kf26t/2/

categories: ['Jan', 'Feb', 
        'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'] 

एकमात्र समाधान मैं महीने के बीच औसत की गणना करने के लिए है के बारे में सोच सकते हैं, लेकिन मैं डॉन ' औसत प्रदर्शन करने की इच्छा नहीं है।

क्या हाईचार्ट जेएस में इन अंतराल को भरने का कोई अंतर्निहित तरीका है? यदि नहीं, तो क्या मैंने सुझाव दिया है कि एक साफ समाधान है?


वैकल्पिक रूप से, क्या मूल्य पर आधारित एक्स-अक्ष को अलग करने का कोई तरीका है? तो यदि कोई मार्च महीने नहीं है, तो फरवरी और अप्रैल 2 महीने की दूरी दिखाई देते हैं।

यह तब भी उपयोगी होगा जब पूर्णांक एक्स-अक्ष हों। उदाहरण के लिए यदि मेरे पास "1, 2, 10" था, तो मैं नहीं चाहता कि ये समान रूप से फैल जाएं।

+0

क्या औसत बात के साथ गलत क्या है?निश्चित रूप से यह होगा कि अगर अंतराल में भर जाता है तो हाईचार्ट ऑटो डिस्प्ले करेगा। मुझे लगता है कि शायद आप इसे होवर पॉइंट के बिना चाहते हैं? – musefan

+0

@musefan यह सही है, यह औसत उत्पन्न होता है, इनपुट डेटा नहीं। इसलिए मैं नहीं चाहता कि यह एक "मील का पत्थर" हो। – Curt

+0

@musefan मेरा नवीनतम संपादन देखें। मैं मार्च को एक श्रेणी के रूप में प्रदर्शित नहीं करना चाहूंगा और सिर्फ श्रेणियों को और अलग कर दूंगा। – Curt

उत्तर

3

इस प्रकार के व्यवहार के लिए Highstocks JS का उपयोग हाइचार्ट्स जेएस के बजाय किया जाना चाहिए।

data: [ 
       [Date.UTC(2013,  0, 1), 1], 
       [Date.UTC(2013, 1, 1), 2 ], 
       [Date.UTC(2013, 3,  1), 4], 
       [Date.UTC(2013, 4,  1), 5 ], 
       [Date.UTC(2013, 5, 1), 6 ], 
       [Date.UTC(2013, 6, 1), 7], 
       [Date.UTC(2013,  7,  1), 8], 
       [Date.UTC(2013,  8,  1),9], 
       [Date.UTC(2013, 9, 1), 10], 
       [Date.UTC(2013, 10, 1), 11], 
       [Date.UTC(2013, 11, 1), 12] 
      ] 

लाइव डेमो:http://jsfiddle.net/q2kSf/

+0

हाईस्टॉक के यहां उच्च लाभ क्या है? – jlbriggs

7

मैं कुछ गायब हो सकता है, लेकिन अपने उदाहरण और स्पष्टीकरण से, आप connectNulls संपत्ति की तलाश में हो रहे हैं:

http://api.highcharts.com/highcharts#plotOptions.series.connectNulls

+0

अनियमित दिनांक समय श्रृंखला के लिए कोई विकल्प है? – Muhaimin

+0

मुझे यकीन नहीं है कि आपका क्या मतलब है - क्या आप अधिक विशिष्ट हो सकते हैं? – jlbriggs

-1
संदर्भ के लिए

: type: 'spline' (कर्ट्स लाइव डेमो देखें) मेरे लिए चाल है।

function createChart() { 
var chartOptions = { 
    chart: 
    { 
    type: 'spline', 
     *//other options and stuff...* 
    } 
} 
} 

(मैं this file संशोधित एक रास्पबेरी-अनुकरणीय परियोजना के लिए कम सेंसर डाउनटाइम नकाब)

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