Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将json代码集成到D3HTML文件中_Javascript_Json_D3.js_Sankey Diagram - Fatal编程技术网

Javascript 将json代码集成到D3HTML文件中

Javascript 将json代码集成到D3HTML文件中,javascript,json,d3.js,sankey-diagram,Javascript,Json,D3.js,Sankey Diagram,我正在从以下链接测试sandey图表: 但我只能在Firefox中看到图表,而不能在Chrome中看到。我怀疑是因为Chrome不允许从外部文件访问数据 因此,我尝试集成json代码,但当我尝试时,Firefox中没有显示该图表 我添加了一个包含所有json代码的变量,如: var dataset = {"nodes":[{"node":0,"name":"node0"},{"node":1,"name":"node1"},{"node":2,"name":"node2"},{"node":3,

我正在从以下链接测试sandey图表:

但我只能在Firefox中看到图表,而不能在Chrome中看到。我怀疑是因为Chrome不允许从外部文件访问数据

因此,我尝试集成json代码,但当我尝试时,Firefox中没有显示该图表

我添加了一个包含所有json代码的变量,如:

var dataset = {"nodes":[{"node":0,"name":"node0"},{"node":1,"name":"node1"},{"node":2,"name":"node2"},{"node":3,"name":"node3"},{"node":4,"name":"node4"}],"links":[{"source":0,"target":2,"value":2},{"source":1,"target":2,"value":2},{"source":1,"target":3,"value":2},{"source":0,"target":4,"value":2},{"source":2,"target":3,"value":2},{"source":2,"target":4,"value":2},{"source":3,"target":4,"value":4}]};
我已经替换了这行代码:

d3.json("sankey-formatted.json", function(error, graph) {
对于这个(仅用dataset变量替换文件名):

,,但不是。图表未显示。你知道为什么桑基图表没有显示吗


谢谢你现在面临的问题是

…返回一个新请求,以使用默认mime类型application/JSON获取指定url处的JSON文件

也就是说,解决方案比您想象的要简单:因为您已经有了一个包含所有数据的变量,只需将其命名为
graph
(您的
d3.json
函数加载文件并填充名为
graph
)的数据数组即可:

然后放下
d3.json
函数,别忘了去掉右括号:

d3.json("sankey-formatted.json", function(error, graph) {//remove this...

    //your function

});//...and don't fortget to remove this too.
var graph = {"nodes":[{"node":0,"name":"node0"},...
d3.json("sankey-formatted.json", function(error, graph) {//remove this...

    //your function

});//...and don't fortget to remove this too.