2011-12-28 117 views
5

尝试使用d3.js和不知道如何正确地引用:下面一行在你的页面D3布局未定义

<!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> 
+0

在你提及的其它JS – 2011-12-28 05:25:45

回答

-6

广告。

<script type="text/javascript" src="your respective directory/d3.js"></script> 

现在你可以使用在你的页面中的任何特性或功能从d3.js

+0

谢谢你以同样的方式,我试过了,但仍然没有工作。 并试过d3.min.js. – quantumpotato 2011-12-28 05:33:29

+0

是你的页面和d3.js在同一个目录下吗? – 2011-12-28 05:44:27

+3

这绝对不是正确的答案,它不应该被标记为这样。往下看。 – JosephMCasey 2015-03-23 05:10:37

23

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

+0

是true,但在包含布局后,我得到:d3.rebind不是布局模块中的函数错误。如何解决这个问题? – 31415926 2016-07-05 09:55:11

+1

我也有一个d3.rebind不是一个函数错误...我只能找到一个链接到布局文件[这里](https://gist.github.com/davo/4186300)...我使用d3 v4.1.1,但无法找到布局模块的版本... – 2016-07-12 09:21:51

+0

它在哪里[https://www.google.ru/search?q=d3.layout.js](https: //www.google.ru/search?q=d3.layout.js)? – vladkras 2017-03-31 10:35:30

7

您应该使用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

+0

对不起。本答案对版本4是正确的 – Juanjo 2016-11-24 15:24:47