2013-05-16 4 views
5

मुझे अपने डेटा को महीने के माध्यम से समूहीकृत करने का प्रयास करने में बहुत मुश्किल समय है। मैं अब तक अपने डेटा के माध्यम से प्रोग्राम के रूप में फ़िल्टर करने के लिए यहां तक ​​कि महीने के आखिरी दिन को वापस करने और मासिक मूल्य की गणना करने के लिए चला गया हूं। मैंने 'डेटा ग्रुपिंग' संपत्ति पर एक अच्छा स्पष्टीकरण खोजने की कोशिश की है, लेकिन इसे समझने में कोई भाग्य नहीं है और न ही इसे ठीक से कार्यान्वित किया गया है। प्रत्येक परिणाम मेरी श्रृंखला को दैनिक अंतराल में देता है।डेटा ग्रुपिंग - मासिक (अंत-महीने)

  1. वहाँ काम करने के लिए समूहीकरण डेटा के लिए आवश्यक डेटा बिंदुओं की एक न्यूनतम संख्या है:

    मेरे सवालों का इस प्रकार हैं?

  2. dataGrouping.units के तहत मैंने इस दस्तावेज़ीकरण का उपयोग करने का प्रयास किया है लेकिन मेरे लिए कुछ भी काम नहीं किया है - फिर भी दैनिक अंतराल में परिणाम - क्या कोई मेरे लिए यह समझा सकता है?

इस पर कोई सहायता होगी सराहना की।

उत्तर

8

क्या आप हाईस्टॉक ग्राफ का उपयोग कर रहे हैं?

यदि हाँ ...

ज़रूर, यह डेटा समूहीकरण प्राप्त करने का एक बहुत लेता है। यदि डेटाग्रुपिंग विकल्प सक्षम है, तो हाईस्टॉक स्वचालित रूप से प्रत्येक समूह मोड के बीच स्विच को संभालता है। इसलिए यदि आपके पास बहुत अधिक डेटा नहीं है, तो यह डिफ़ॉल्ट सेटिंग्स

के साथ काम नहीं करेगा, इसलिए, यदि आप डिफ़ॉल्ट रूप से समूह करना चाहते हैं, तो आपको समूह को मजबूर करने की आवश्यकता है।

series:[{ 
    [...] 
     dataGrouping: { 
      approximation: "sum", 
      enabled: true, 
      forced: true, 
      units: [['month',[1]]] 

     } 
}] 

संपादित

यहाँ एक काम कर उदाहरण डेमो (एक बुनियादी Highstock डेमो के कांटा) http://jsfiddle.net/NcNvu/

आशा है कि यह मदद करता है! सम्मान

+0

मैं मान रहा हूं: इकाइयां: [['महीना', [1]] जहां 1 समूह के महीनों की संख्या के बराबर है? – Scott

+0

@ स्कॉट हां, इसे देखें: http://api.highcharts.com/highstock#plotOptions.series.dataGrouping.units –

+0

प्रतिक्रियाओं के लिए धन्यवाद। जिज्ञासा से बाहर, क्या किसी को डेटा समूहिंग के लिए आवश्यक डेटापॉइंट्स के न्यूनतम # पता होना होगा? – Scott

1

हमने इसके आसपास एक हैक की कोशिश की, जहां हमने हाईस्टॉक (स्पलाइनचार्ट) RangeSelector, इवेंट और DataGrouping का उपयोग किया। साप्ताहिक रेंजसेलेक्टर बटन के क्लिक पर हम इस घटना को setExtremes के माध्यम से पकड़ते हैं। घटना को पकड़ने के लिए पोस्ट को "योग" के अनुमानित करें। यदि आप वस्तु को दोहराने से दो श्रृंखला का उपयोग कर रहे हैं। वर्तमान में इसे साप्ताहिक कर रहे हैं, इसे यूएनआईटी

events: { 
     setExtremes: function (e) { 
      if (e.rangeSelectorButton != undefined) { 
       var triger = e.rangeSelectorButton; 
       if (triger.type == 'week') { 
        $.each(this.series, function (index, obj) { 
         obj.options.dataGrouping.units[0] = ['week', [1]]; 
        }); 
       } else if (triger.type == 'day') { 
        $.each(this.series, function (index, obj) { 
         obj.options.dataGrouping.units[0] = ['day', [1]]; 
        }); 
       } 
      } 
     } 
    }, 
संबंधित मुद्दे