【问题标题】:Unable to load data using d3.json and .json file containing row arrays无法使用包含行数组的 d3.json 和 .json 文件加载数据
【发布时间】:2014-01-21 22:43:49
【问题描述】:

我正在使用一个小数据集来测试和学习如何为 D3.js 散点图加载数据。当我将数据硬编码到我的脚本中时,散点图显示得很好,如下所示:

var data = [
["200601", 8400000, 1],
["200903", 7600, 2],
["200411", 50056, 3],
["201205", 1100000, 1],
["200804", 550000, 2],
["200404", 550, 3],
["200007", 78000, 1],
["200605", 5600000, 1],
["200702", 29000, 2],
["200103", 660000, 3]
];

我尝试获取上述二维数组并将其存储在一个名为“dataExample.json”的文件中,然后通过将上述代码替换为以下代码来请求指定的文件,这是我从 D3 提出请求的文档中获得的:

var data;

d3.json("dataExample.json", function(error, json) {
  if (error) return console.warn(error);
  data = json;
  visualizeit();
});

我在 Python 上本地运行,在 cmd 窗口中我看到 ["GET ../dataExample.json HTTP/1.1" 200] 显示请求成功。但是,散点图不显示,而是页面完全显示为空白。在 Firefox 调试控制台中,我看到“ReferenceError:visualizeit 未定义”,但我没有发现任何其他错误可以帮助我了解哪里出错了。

谁能帮助解释我遇到的问题或就如何正确加载和访问这些数据提供任何建议?这是一个将数据编码到我的脚本中的工作示例的链接:http://jsfiddle.net/TGDs4/3/

非常感谢任何帮助。谢谢。

【问题讨论】:

  • 你的 JSON 文件是什么样的?
  • JSON 文件如下所示: [ ["200601", 8400000, 1], ["200903", 7600, 2], ["200411", 50056, 3], ["201205" , 1100000, 1], ["200804", 550000, 2], ["200404", 550, 3], ["200007", 78000, 1], ["200605", 5600000, 1], ["200702" , 29000, 2], ["200103", 660000, 3] ]

标签: json d3.js callback scatter-plot get-request


【解决方案1】:

查看 fiddle 中的代码和您对调试错误的描述:“ReferenceError:visualizeit 未定义”似乎您没有定义 Visualizeit 函数。

【讨论】:

    猜你喜欢
    • 2017-01-06
    • 1970-01-01
    • 2015-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多