javascript - 如何从 D3 v5 中的 CSV 文件加载数据

标签 javascript d3.js

我正在尝试从 D3 中的 CSV 文件加载数据;我有这段代码:

function update (error, data) {
    if (error !== null) {
        alert ("Couldn't load the dataset!");
    } else {
        //do something
    };

function changeData () {
    d3.csv ("data/dataset.csv", update);
}

如果我使用 D3 v4 它工作正常,但如果我切换到 v5 它就不再工作了。 有人可以向我解释如何修改代码以使其适用于 D3 v5 吗?

最佳答案

d3 v5使用 fetch API 并返回需要以下代码的 promise 。

d3.csv('yourcsv.csv')
  .then(function(data) {
      // data is now whole data set
      // draw chart in here!
  })
  .catch(function(error){
     // handle error   
  })

以防将来人们想要 v4。 d3 v4另一方面使用 XMLHttpRequest 方法,并且不返回需要此代码的 promise

d3.csv('yourcsv.csv', function(data) {
    //whole data set
    // draw chart here
})

csv 加载是异步的,因此请确保在 csv 函数中运行您的图表代码。

关于javascript - 如何从 D3 v5 中的 CSV 文件加载数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49599691/

相关文章:

javascript - 如何使用实际模块而不是使用模拟

javascript - 如何从 Javascript 或 Nodejs 执行 Python 脚本?

javascript - 如何在c3.js中设置y刻度值?

javascript - 从 HSV 模型中提取 'dominant' 颜色? (不是来自 RGB 模型)

javascript - 如何在 TinyMCE 中创建更新模板变量?

javascript - 在 D3 中的力导向图中绘制多个贝塞尔曲线连接的边

javascript - 如何检查没有链接的节点的 d3 js 力图并将其删除?

web - 如何从D3.js力图中的元素位置获取Web元素(id)

javascript - JavaScript 中的定向网络图

javascript - 数组中的元素被过早删除?