我想在图表中显示一些数据。大小约为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),尤其是像同步,缩放和平移等交互。