使用 d3 加载本地 JSON 文件



我知道 JSON 无法像许多其他问题所讨论的那样在Chrome本地加载。 我正在尝试重新创建这个:https://romsson.github.io/dragit/example/nations.html

我尝试实现硬编码 json 的解决方案。

工作代码:

d3.json("https://rawgit.com/romsson/dragit/master/data/nations.json", function(nations) {

....

我尝试在本地加载nations.json

var nations = [{"name":"Angola","region":"Sub-Saharan Africa","income":[[2006,12127071],[2007,12420476],[2008,12707546]],
"lifeExpectancy":[[2006,46.02],[2007,46.54],[2008,47.06]]},
{"name":"Benin","region":"Sub-Saharan Africa","income":[[2006,7862944],[2007,8078314],[2008,8294941]],
"lifeExpectancy":[[2006,60.6],[2007,61.03],[2008,61.47]]}]
d3.json(nations, function(nations) {
....

我收到错误:

Failed to load resource: the server responded with a status of 404 (Not Found)

d3.json 用于从 url 而不是页面中存在的对象加载数据。 因此,如果您已经在页面中有一个对象,只需将其传递给所需的函数即可。

function draw(nationsObj){
    // A bisector since many nation's data is sparsely-defined.
       var bisect = d3.bisector(function(d) { return d[0]; });
        .....contents
} 
draw(nations); 

最新更新