【问题标题】:TypeError: n is undefined in D3.js , trying to replicate the Hierarchical Edge BundlingTypeError: n is undefined in D3.js ,试图复制 Hierarchical Edge Bundling
【发布时间】:2014-08-22 18:11:37
【问题描述】:

我正在尝试自定义 Mike Bostock 的 Hierarchical Edge Bundling 示例:

到目前为止,我已经能够使用我的数据生成认为是等效的 json 文件,但我无法让它显示出来。

在控制台中我收到以下错误:

TypeError: n is undefined

以及以下警告:

mutating the [[Prototype]] of an object will cause your code to run very slowly; instead create the object with the correct initial [[Prototype]] value using Object.create

我曾尝试在不同的浏览器中运行本地服务器,但无济于事。 我还发现了these questions 并没有解决问题。

你可以在this gist找到我的代码和修改后的json。

任何帮助将不胜感激。

【问题讨论】:

  • 确保您的 CDN 正在链接并且您的数据在本地托管。
  • 我在本地主机上运行它,我的数据在本地托管。
  • 您是否链接到外部 url / 自己托管 d3 脚本?您可能没有连接到外部 url。
  • 谢谢。我试过自己托管 d3 脚本,结果是一样的。我倾向于认为这不是问题,因为我可以让原始 json(d3 依赖项)工作。

标签: javascript json svg d3.js bundle-layout


【解决方案1】:

我一上午都在调试这个错误,终于弄明白了。

示例:
https://gist.github.com/mbostock/1044242

当它查看 json 数组时,每个导入都必须有一个有效的条目。在示例中,如果删除该 JSON 数组的任何一行,您将得到“TypeError: n is undefined”

我找到它的唯一方法是复制 JSON 文件,然后用空格替换所有名称属性。这最终让我找到了一个不存在的导入,因为我的格式有误。

希望这会有所帮助。

【讨论】:

  • 你是对的。非常感谢!这一直困扰着我,就像疯了一样
  • 是的,数据数组中的空元素会在 D3 中产生该错误,谢谢
猜你喜欢
  • 1970-01-01
  • 2016-11-01
  • 2018-10-20
  • 2023-03-12
  • 1970-01-01
  • 2017-12-05
  • 2013-11-21
  • 1970-01-01
  • 2021-08-18
相关资源
最近更新 更多