2013-03-01 8 views
7

यदि आप गतिशील स्पिनलाइन अपडेट के साथ यह JSFiddle खोलते हैं तो यह प्रत्येक सेकंड को अपडेट करने से पहले 20 अंक के साथ श्रृंखला लोड करता है। ।हाइचार्ट्स - प्रारंभिक डेटा के साथ डायनैमिक ग्राफ

Example

मैं किसी भी प्रारंभिक डेटा का प्रदर्शन और अंतराल बिंदुओं को जोड़ने के आते ही उन्हें जाने के लिए नहीं करना चाहती

तो मैं बदलने के लिए:

series: [{ 
      name: 'Random data', 
      data: (function() { 
       // generate an array of random data 
       var data = [], 
        time = (new Date()).getTime(), 
        i; 

       for (i = -19; i <= 0; i++) { 
        data.push({ 
         x: time + i * 1000, 
         y: Math.random() 
        }); 
       } 
       return data; 
      })() 
     }] 

को
series: [{ 
      name: 'Random data', 
      data: [] 
     }] 

लेकिन यह अंक नहीं जोड़ता है। क्या मैं कुछ छोड़ रहा हूं?

+0

प्रदान की जवाब किसी भी करने में आपकी मदद करने में सक्षम है मार्ग? – marty

उत्तर

2

addPoint का तीसरा पैरामीटर सेट है यदि आप इसे जोड़ने के बाद किसी बिंदु को स्थानांतरित करना चाहते हैं।

तो, क्या हो रहा है? आप एक बिंदु जोड़ रहे हैं और फिर इसे हटा रहे हैं।

बदलें:

series.addPoint([x, y], true, true); 

करने के लिए:

series.addPoint([x, y], true); 

Demo

संदर्भ

5

अपनी लोड समारोह बदलें ताकि पारी पैरामीटर लागू नहीं होता है इससे पहले कि आप अपने 20 मूल्यों जोड़ दिया है, को देखने के this jsfiddle

load: function() { 

    // set up the updating of the chart each second 
    var series = this.series[0], 
     maxSamples = 20, 
     count = 0; 
    setInterval(function() { 
     var x = (new Date()).getTime(), // current time 
      y = Math.random(); 
     series.addPoint(
      [x,y] 
      , true 
      , (++count >= maxSamples) 
     ); 
    }, 1000); 
} 
संबंधित मुद्दे