2016-04-27 12 views
5

नीचे jsfiddle समस्या को दर्शाता है।chart.js 2, छोड़ दिया (नहीं ऊपर से नीचे) का अधिकार चेतन

पहली डेटा आवेषण ठीक हैं, लेकिन जब डेटा सेट की लंबाई 10 पर सीमित कर दिया गया है आप अवांछित व्यवहार जहां डेटा बिंदुओं एनिमेटेड बजाय छोड़ दिया हिलाने की ऊपर से नीचे देखते हैं। यह बेहद विचलित है।

http://jsfiddle.net/kLg5ntou/32/

setInterval(function() { 
data.labels.push(Math.floor(Date.now()/1000)); 
data.datasets[0].data.push(Math.floor(10 + Math.random() * 80)); 

// limit to 10 
data.labels = data.labels.splice(-10); 
data.datasets[0].data = data.datasets[0].data.splice(-10); 

chart.update(); // addData/removeData replaced with update in v2 
}, 1000); 

वहाँ लाइन चार्ट चाल नव डाला डेटा बिंदु होने के लिए छोड़ दिया सही पर भी प्रदर्शित करने के लिए एक रास्ता है? Wavy विचलित एनीमेशन के विरोध में?

धन्यवाद

+0

आप इस का समाधान करने में कामयाब रहे थे? – giosh94mhz

+0

मैंने नहीं किया - मैं एक एसवीजी कार्यान्वयन के पक्ष में अपने ही वास्तविक समय चार्ट के साथ लगभग नगण्य, अंत में समाप्त हो गया - मैं कुछ काफी इस के करीब (आप क्लोन git और index.html देखने यह देखने के लिए कर सकते हैं के साथ समाप्त हो गया कार्रवाई में): https://github.com/talmobi/realtimechart/blob/master/rtchart.js - मैं शायद d3js चुनते हैं मैं फिर से उसी स्थिति में होने पर होता। http://codepen.io/talmobi/pen/VjKVyQ – talmobi

+0

यहाँ का शीघ्रता से अवलोकन के लिए एक codepen है? :) धन्यवाद कोड के लिए, मैं इसे आज़मा दूंगा! – talmobi

उत्तर

0

आप 2.5.0 chartsjs

यहाँ यह काम करता है का उपयोग करना चाहिए: http://jsfiddle.net/kLg5ntou/93

var data = { 
labels: ["0", "1", "2", "3", "4", "5", "6"], 
datasets: [ 
    { 
     label: "My First dataset", 
     fillColor: "rgba(95,186,88,0.7)", 
     strokeColor: "rgba(95,186,88,1)", 
     pointColor: "rgba(0,0,0,0)", 
     pointStrokeColor: "rgba(0,0,0,0)", 
     pointHighlightFill: "rgba(95,186,88,1)", 
     pointHighlightStroke: "rgba(95,186,88,1)", 
     data: [65, 59, 80, 81, 56, 55, 40] 
    } 
] 
}; 

var ctx = document.getElementById("chart").getContext("2d"); 
var chart = new Chart(ctx, {type: 'line', data: data}); 

setInterval(function() { 
chart.config.data.labels.push(Math.floor(Date.now()/1000)); 
chart.config.data.datasets[0].data.push(Math.floor(10 + Math.random() * 80)); 
// limit to 10 
chart.config.data.labels.shift(); 
chart.config.data.datasets[0].data.shift(); 
संबंधित मुद्दे