我正在通过以下链接测试sandey图表:https://gist.github.com/d3noob/c2637e28b79fb3bfea13
但我只能在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) {
对于这个(只是用数据集变量替换文件的名称):
d3.json(dataset, function(error, graph) {
,,,但不是图表没有显示。有没有为什么sankey图表没有显示的想法?
由于
答案 0 :(得分:1)
您遇到的问题是d3.json ...
...返回一个新请求,使用默认的mime类型application / json在指定的url上获取JSON文件。
话虽这么说,解决方案比你想象的要简单:因为你已经有一个包含所有数据的变量,只需将其命名为graph
(你的d3.json
函数加载文件并填充数据名为graph
)的数组:
var graph = {"nodes":[{"node":0,"name":"node0"},...
放弃d3.json
功能,不要忘记删除右括号括号/括号:
d3.json("sankey-formatted.json", function(error, graph) {//remove this...
//your function
});//...and don't fortget to remove this too.