我有一个大约230,000行的数据集,而我在处理数据时遇到了困难。我删去了一半以上的信息,并且仍然需要大约20分钟才能处理成可视化文件(构建数组大约需要20秒)。在此之前(在D3中),我处理的最大数据集大约只有210行。
有人对如何更快地处理此问题有任何建议吗?
如果一次渲染大量数据不堪重负,我认为最好将数据拆分为多个块,然后异步渲染每个块。
例如。
function chunk(arr, chunkSize) {
var R = [];
for (var i=0,len=arr.length; i<len; i+=chunkSize)
R.push(arr.slice(i,i+chunkSize));
return R;
}
var bigData = [...],
reasonableNumber = 20;
chunk(bigData, reasonableNumber).forEach((splitted) => {
requestAnimationFrame(() => drawWithD3(splitted));
});
我希望这会起作用。