在d3 v5的npm版本中使用csv文件

时间:2019-03-28 10:47:02

标签: javascript reactjs csv d3.js npm

我正在研究一个React项目并使用d3。我已经使用npm在我的项目中安装d3模块。我的项目中目前拥有d3的5.9.2版本。我有一个要在d3中使用的csv文件。我尝试过寻找一种使用它的方法,但是却无法获得相同的资源。每个帖子都使用这样的csv文件:

d3.csv("sp500.csv", type, function(error, data) {
    if (error) throw error;

    //do something here
}

但是我安装的模块中没有任何名为d3.csv的模块。我只有 d3-dsv

目前,我正在尝试以这种方式使用它

import {dsvFormat, csvParse, csvParseRows, csvFormat, csvFormatBody, csvFormatRows} from 'd3-dsv'

csvFormat("sp500.csv", this.type.bind(this), function(error, data) {

            console.log("data is")

            //do something here
}

但是我在这里没有运气。似乎csvFormat不是d3.csv的等效功能。如何使用csv文件?

1 个答案:

答案 0 :(得分:0)

如果使用D3,则d3.csv语法来自旧版本。在最新版本中,D3使用获取来下载资源,并且d3.csv(以及其他类似方法,例如d3.jsond3.text)的语法已更改为类似于fetch的语法:

let url = "https://raw.githubusercontent.com/oncletom/coursera-ml/master/week-1/people-example.csv";

d3.csv(url).then(data => {
  console.log(data)
}).catch(error => {
  console.error(error)
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/5.7.0/d3.min.js"></script>