javascript - D3 Javascript - 嵌套函数可能存在问题 - 生成控制台错误

标签 javascript json function d3.js

你好,Stackoverflow。通常情况下,一旦解决了最初的问题,您就会遇到另一个问题。昨天我发布了一个关于 实现 D3 可视化。 Sparta93 迅速回答了我的问题(也许你也可以在这个问题上提供帮助)。

正如我所指出的,我实际上将 D3 Viz 嵌入到打包应用程序 Oracle Big Data Discovery (BDD) 中。 BDD 使用可视化 渲染器来显示图表。这要求 JS block 位于 Chart 函数内(整个代码主体位于下面链接的 JS Fiddle 中,以便于阅读和审查):

renderChart: function(queryResults) {

当我运行代码时,它会生成一个错误 分层不是函数。

Uncaught TypeError: d3.stratify is not a function
at S.renderChart (script:44)
at S.executeQueryCallback (eval at globalEval (barebone.jsp:4), <anonymous>:1:3460)
at S.handleResize (eval at globalEval (barebone.jsp:4), <anonymous>:1:3751)
at constructor.resizeListener (eval at globalEval (barebone.jsp:4), <anonymous>:1:17193)
at Object.run (eval at globalEval (barebone.jsp:4), <anonymous>:1:16634)
at i (barebone.jsp:32)

如果我重新排序代码并将 Cluster 放在第一位,我会收到类似的错误。

我怀疑这个问题与这两个函数位于“renderChart: function(queryResults)”内这一事实有关。我是 DBA、大数据和 BI 人员,所以我的 JS 技能相当有限。我可能勉强将代码拼凑在一起以使其正常工作。我有更简单的工作,即在 BDD 中工作 不会出错。但是它没有任何子功能

这是一个 fiddle ,其中代码按预期工作(感谢 Sparta93)。在“正常”上下文中工作的图表:https://jsfiddle.net/hb4oLy2x/

这里是一个 fiddle ,只是为了简单地发布所有代码。它不会运行,因为它依赖于服务器端 BDD 可视化渲染器。我围绕我认为存在问题的要素发表了一些评论。图表在 BDD 上下文中不起作用(这是有问题的代码):https://jsfiddle.net/sx7oaput/

这是一个 Fiddle,我在其中删除了 d3 v4 的 URI。有趣的是,它在控制台中创建了类似的错误。模拟错误的图表代码(也许只是巧合):https://jsfiddle.net/u48o39k2/

为了简化共享代码,这是另一个 fiddle 。这确实在 BDD 中成功渲染了条形图和 HTML 表。在 BDD 上下文中工作的图表:https://jsfiddle.net/j7r9f743/

非常感谢指导、建议和/或帮助。

最佳答案

我尝试查看其他行动方案,因为我知道某些可视化确实有效。我在网上找到了这段代码,当我提取各个部分并在工作代码中测试替换时,我让它工作了。

var tree = d3.layout.tree()
.size([360, diameter / 2 - 80])
.separation(function(a, b) { return (a.parent == b.parent ? 1 : 10) / a.depth; });

var diagonal = d3.svg.diagonal.radial()
    .projection(function(d) { return [d.y, d.x / 180 * Math.PI]; });

http://codepen.io/anon/pen/xItvw

非常感谢Code Pen的作者“CAPTAIN ANONYMOUS”(笑)。

关于javascript - D3 Javascript - 嵌套函数可能存在问题 - 生成控制台错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43077968/

相关文章:

javascript - 等待递归函数完成

javascript - 使用javascript更改图标标签

php - 通过 cURL 发送 JSON 始终返回 "No access"

c++ - function(vector<int> v) 和 function(vector<int>& v) 有什么区别?

php - 处理json,其中json数组的数量是动态的

java - 如何从 URL 读取 JSON 文件?

python - iPython - Debug模式下的库函数帮助

javascript - 如何使用字符串路径访问嵌套对象?

javascript - 在 init() 函数中调用 $timeout 时对 Controller 进行单元测试

javascript - Rails 3.1 - Active_admin 和复选框