【问题标题】:d3 layout is undefinedd3 布局未定义
【发布时间】:2011-12-28 05:20:20
【问题描述】:

尝试使用d3.js,但不知道如何正确引用它:

<!DOCTYPE html>
<head>
<link rel="stylesheet" href="bootstrap.min.css">
<script src="jquery-1.7.1.js"></script>
<<<<other scripts>>>
<script src="topbar.js"></script>
<script>
$(function() {
    var n = 4, // number of layers
        m = 64, // number of samples per layer
     data = d3.layout.stack()(stream_layers(n, m, .1)),
    color = d3.interpolateRgb("#aad", "#556");
});
</script>
</head>
...
</html>

【问题讨论】:

标签: javascript html d3.js


【解决方案1】:

除了d3.js,还需要包含d3.layout.js;默认情况下,布局模块位于单独的文件中。您还可以自定义构建 d3.js,在单个文件中包含您需要的所有内容。

【讨论】:

  • true,但在包含布局后我得到:d3.rebind is not a function error inside layout module。如何解决?
  • 我也有 d3.rebind is not a function 错误...我只能找到一个指向布局文件的链接here...我使用的是 d3 v4.1.1,但是找不到布局模块的版本...
【解决方案2】:

您应该改用 d3.stack

D3 4.0 中的每个符号现在共享一个平面命名空间,而不是 D3 3.x 的嵌套命名空间。例如,d3.scale.linear 现在是 d3.scaleLineard3.layout.treemap 现在是 d3.treemap。

对于其他 d3.layout 更改,请访问此处:https://github.com/d3/d3/blob/master/CHANGES.md

【讨论】:

  • 对不起。这个答案对于版本 4 是正确的
【解决方案3】:

(这不是这个问题的答案)

对于有同样错误的人:

d3.layout 未定义

在我的情况下,我只是直接链接到最新版本 (v4)
https://d3js.org/d3.v4.min.js

在 (v3) 中,它又可以工作了。
https://d3js.org/d3.v3.min.js

【讨论】:

    猜你喜欢
    • 2012-10-28
    • 1970-01-01
    • 1970-01-01
    • 2015-06-25
    • 2021-01-24
    • 2017-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多