【问题标题】:Issues with d3.request - example of d3-bookd3.request 的问题 - d3-book 的示例
【发布时间】:2019-03-02 14:14:18
【问题描述】:

我正在阅读“Web 的交互式数据可视化”,在第 16 章中我遇到了以下代码的问题。

据我所知,d3.request 已被弃用,所以我想知道如何编写与此函数等效的函数。是 fetch 吗?

d3.request("vehicle_sales_data.csv")
.mimeType("text/csv")
.get(function(response) {
    var rows = d3.csvParseRows(response.responseText); ...}

谢谢。

【问题讨论】:

标签: d3.js


【解决方案1】:

由于 d3 v5 不推荐使用 request(),您可以使用 d3.text() 以可自定义的方式解析 CSV,这就是本书中的这个练习试图做的。

然后,我对这个示例所做的相关更改是,

d3.text("vehicle_sales_data.csv")
  .then(function(response) {
  ...
    var rows = d3.csvParseRows(response);

【讨论】:

    【解决方案2】:

    d3.csv("https://gist.githubusercontent.com/d3noob/fa0f16e271cb191ae85f/raw/bf896176236341f56a55b36c8fc40e32c73051ad/treedata.csv", function(data) {
      console.log(data);
    });
    <script src="https://cdnjs.cloudflare.com/ajax/libs/d3/4.13.0/d3.min.js"></script>

    【讨论】:

    • 它不起作用。它显示一个错误。 'Uncaught (in promise) TypeError: Cannot read property 'length' of undefined at Object.parseRows [as csvParseRows] (d3.js:5753) at'
    • 它认为您的错误可能与您未在此处共享的部分代码有关。
    • 完整代码在这里可用:github.com/alignedleft/d3-book/blob/master/chapter_16/… 在第 188 行中,de color 有一个错误,它已经修复了。
    • 您想编辑您的问题以包含错误和您认为导致错误的代码吗?
    • 在我看来,错误出在我发布的部分。如果它在另一行,我真的无法检测到它到底在哪里。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-24
    • 1970-01-01
    • 1970-01-01
    • 2022-09-24
    相关资源
    最近更新 更多