d3.js简单区域图示例...得到"未定义"错误; 我想我需要一份退货声明?

gre*_*ker 1 undefined d3.js

我正在通过d3.js.org上的例子来学习d3.js

我从http://bl.ocks.org/3883195的 "区域图表"开始

我试着在自己打字,所以我会理解变量和功能.

该脚本调用data.tsv来生成图表.

好吧,当加载data.tsv时,我得到一个"'undefined'不是对象"错误.

所以我摆弄了一些,然后继续前进并复制并将bl.ock的原始代码粘贴到我的编辑器中,将他的d3.v3.js更改为d3.v2.js

同样的错误.

我觉得我的data.tsv在我的机器上的正确目录中,与d3.v2.js相同的目录.

第二行抛出错误:

    d3.tsv("data.tsv", function(error, data) { 
      data.forEach(function(d) { 
         d.date = parseDate(d.date);
         d.close = +d.close;
      });
Run Code Online (Sandbox Code Playgroud)

这是错误的图片:https: //twitter.com/maggie_a_lee/status/273858397173080064/photo/1

谢谢大家!!

nau*_*tat 6

这与D3库的版本有关; 目前正在从v2过渡到v3:https://github.com/mbostock/d3/wiki/Release-Notes

您正在使用的示例已针对v3进行了修改,但您仍在加载v2库.

对于d3.tsv,两个版本之间的差异与回调签名有关:

V2:

d3.tsv("data.tsv", function(data) { 
  data.forEach(function(d) { 
     d.date = parseDate(d.date);
     d.close = +d.close;
  });
Run Code Online (Sandbox Code Playgroud)

V3:

d3.tsv("data.tsv", function(error, data) { 
  data.forEach(function(d) { 
     d.date = parseDate(d.date);
     d.close = +d.close;
  });
Run Code Online (Sandbox Code Playgroud)

这意味着在您的情况下,实际数据存储在error参数中.