我想在圖表中顯示一些數據。大小約爲200k數據點x16 - 這是堆棧值。我希望這個圖書館能夠及時呈現這些數據。CanvasJs,更新數據
該數組看起來像:[16] [250000],其中外部數組是堆積值,內部包含數據。 [n] [m] = {x:1 ... 250000,y:0 ... 1}。如果我有[1] [7000] = {x:7000,y:data}或[12] [7000] = {7000,y:otherData} - >這將被堆疊。
數據將僅在用戶交互後加載。
我現在的問題是我無法用數據填充圖形。我見過http://canvasjs.com/docs/charts/basics-of-creating-html5-chart/updating-chart-options/。
代碼:
<script type="text/javascript">
dataPoints = []; //or: dataPoints ={};
window.onload = function() {
chart = new CanvasJS.Chart("chart",
{
title: {
text: "asdf"
},
data: [{
type: "stackedColumn",
dataPoints: dataPoints
}]
});
chart.render();
}
function update(data) {
//or: dataPoints=[[],[]];
var size= data[0].length;
var outer= data.length;
for (i= 0; i< outer; i++) {
for (j= 0; j< size; j++) {
dataPoints[i][j].push({y: data[i][j].y}); //here is the error
console.log(data[i][j].y);
}
}
chart.render();
}
不管我怎麼做,我會得到一個未定義的 「 」「 X/Y/0的不能設置屬性」。我知道它與數組初始化有關,並且已經嘗試過各種方法,但是我沒有得到如何正確地初始化它以便稍後填充數據(並且我不知道將有多少數據來)。一旦它有問題已經在(0,0),然後當它「去(1,0)。
第2)有人可以給我一個建議如何我可以減少加載的數據?如果我做了一些測試,速度非常慢,可能會出現1.000.000 x 16的數據點(如http://canvasjs.com/docs/charts/chart-options/range-changing/,崩潰時間大於2.000.000),尤其是像同步,縮放和平移等交互。