【问题标题】:How to handle visualizing massive datasets in D3如何在 D3 中处理海量数据集的可视化
【发布时间】:2020-02-14 14:46:22
【问题描述】:

我有一个包含大约 230,000 行的数据集,我很难处理这些数据。我剪掉了一半以上的信息,仍然需要大约 20 分钟才能处理成可视化(构建数组大约需要 20 秒)。在此之前(在 D3 中)我处理过的最大数据集只有大约 210 行。

有人对如何更快地处理这个问题有任何建议吗?

【问题讨论】:

    标签: html d3.js dom dataset


    【解决方案1】:

    如果一次渲染大量数据是压倒性的,我认为最好将数据分成块并异步渲染每个块。

    例如。

    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));
    });
    

    我希望这会奏效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-13
      • 1970-01-01
      • 1970-01-01
      • 2013-07-28
      • 1970-01-01
      相关资源
      最近更新 更多