【问题标题】:loading d3.csv of 3.8 MB file fails on some systems在某些系统上加载 3.8 MB 文件的 d3.csv 失败
【发布时间】:2014-09-12 10:34:59
【问题描述】:

关于这个应用程序: http://mgd-togo.com/crisisNet/SyriaSocialMedia/CrisisNet-Syria.html

在启动时,我通过调用加载一个 3.8 MB 的 csv 文件

d3.csv('data/Data.csv', function (error, personData) { ...

这适用于大多数系统,但在其他系统上浏览器窗口会崩溃。此外,当以“匿名模式”打开时,它往往会更好地工作 -> 是缓存/内存问题吗?

【问题讨论】:

    标签: javascript csv d3.js


    【解决方案1】:

    您正在加载那些 3.8MB 的 csv(?),然后多次处理它们。

    3.8MB 并不是那么多数据,但处理它实际上会使我的浏览器崩溃。

    您将 JSON 对象作为 CSV 行发送,然后遍历所有对象。 我的建议是:

    1) 使用 JSON 而不是 CSV,因为您的数据已经大部分是 JSON。

    2) 如果您仍然绝对需要处理整个数据集(而不是已经从服务器正确格式化),请尝试实现一些延迟加载(多个请求)。

    【讨论】:

    • 没错,处理而不是加载会使浏览器崩溃!但我将生成的 JSON 数据加载到一个全局变量中,然后在代码处理中使用该变量。所以你建议改为加载 JSON 文件?
    • 我的建议是接收已经正确格式化的数据(如果它来自数据库,那就容易了),并减少客户端处理。
    • 确实如此,不幸的是这里不是一个选项。但是 d3.json() (JSON-> JSON) 应该比 d3.csv() (D3->JSON) 轻吗?
    • 如果您必须遍历对象并以与 csv 相同的方式处理,我怀疑它会有所作为。
    猜你喜欢
    • 1970-01-01
    • 2021-03-24
    • 2023-03-21
    • 2016-07-30
    • 1970-01-01
    • 2016-07-31
    • 1970-01-01
    • 2022-01-27
    • 2019-10-23
    相关资源
    最近更新 更多