1

有没有办法从服务器流式传输大数据集并使用 dc.js 以异步方式可视化数据?

对数据集进行分块,然后在它们到达时使用这些块更新客户端上的可视化。

喜欢这个页面: http://vcf.iobio.io/?vcf=http: //s3.amazonaws.com/vcf.files/ExAC.r0.2.sites.vep.vcf.gz&species=Human&build=GRCh37

4

1 回答 1

0

我认为您需要做的就是设置所有图表,然后设置一个循环间隔计时器来获取块并调用crossfilter.add然后dc.redrawAll()

var cf = crossfilter([]); // start with no data
// set up dimensions, groups, and charts, then ...
window.setInterval(function() {
    d3.csv(/* your data source with chunk parameters */, function(error, data) {
        data.forEach(function(d) {
            // preprocess data
        });
        cf.add(data);
        dc.redrawAll();
    });
}, 5000); // or choose an appropriate interval for processing your chunks

可能有一种更智能的方式来链接请求,以便始终有一个 ajax 请求在运行,并且浏览器正在处理一大块数据。(可能在最后一个请求到达后立即开始下一个请求。)

但我认为这是最好的入门方式,因为它很容易理解。

我不知道有一个带有 restful 块 API 的公共数据源,但是如果你知道一个并且可以创建一个小提琴示例,我相信一个示例会帮助很多人。

于 2017-01-26T15:32:17.033 回答