javascript - 为什么 d3.json 返回 "null"?

标签 javascript python json d3.js networkx

我有两个 JSON 文件,它们是来自 NetworkX 的节点链接转储。

其中一个名为 force2.json。另一个称为 arcage.json。里面的数据基本上是等价的。 force2.json 包含比 arcage.json 更多的节点链接,但两者都被 NetworkX 的

转储
json_graph.node_link_data(graph) 

后跟

json.dump(jsongraph, open('viz/agearc.json','w')) #(or force2.json)

在我的 javascript 文件中,当我使用时:

d3.json('force2.json', function(d) {
    console.log(d) })

我可以正确检查图形对象。

但是,当我这样做时:

d3.json('arcage.json', function(d) {
    console.log(d) })

我得到一个null返回。我无法解释为什么 - 有人可以帮助我吗?

郑重声明,arcage.json 是一个无向图,force2.json 是一个有向图。这两个图具有基本相同的节点链接信息,除了 arcage.json 在节点中具有附加文本属性,在链接中具有附加文本属性,这在执行以下操作时不会给出错误来自 NetworkX 的序列化转储。

我还检查了互联网寻求帮助,发现我需要运行一个 HTTP 服务器。我正在这样做(工作目录中的python -m http.server),并且我仅在本地工作。

编辑:

原始数据可在此处获取:

  • arcage:www.ericmajinglong.com/science/minto_america/arcage.json
  • force2:www.ericmajinglong.com/science/minto_america/force2.json

最佳答案

事实证明,罪魁祸首是存在无效的 JSON。我的数据中存在 NaN 值。

致所有像我这样的新手 - 如果您遇到像我这样的错误,请不要忘记检查 NaN,并在其中输入适当的值!我希望这能为您省去麻烦!

关于javascript - 为什么 d3.json 返回 "null"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25872726/

相关文章:

javascript - 重新绑定(bind) JavaScript 事件并触发两次 addEventListener

javascript - 加速我的复杂函数绘图仪(canvas+javascript)

python - 错误 : ambiguous overload for 'operator/'

java - 如果java中一个文件溢出,如何动态创建新的文本文件

javascript - 从网页中选择复制将页面超链接添加到剪贴板

javascript - 阻止 jQuery.ajax() 传递以 "_json"作为主参数名称的参数?

python - 如何在 Django 中将外键设置为默认值?

python - igraph plot 不可用(cairo 已经安装)

json - 在 MVC3 中显示从 JSON 到表的数据

arrays - 获取 JSON 数组内的 UICollectionView 单元格 ID 并将其设为全局