2011-12-28 2 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 –

ответ

-6

Ad следующую строку на странице.

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

Теперь вы можете использовать любое свойство или функцию в вашей странице с d3.js

+0

Спасибо, я попытался это, но до сих пор не работает. и попытался d3.min.js. – quantumpotato

+0

Разве ваша страница и d3.js находятся в одном каталоге? –

+3

Это определенно не был правильный ответ, и его не следует было помечать как таковой. Смотри ниже. – JosephMCasey

23

Вам необходимо включить d3.layout.js в дополнение к d3.js; по умолчанию модуль макета находится в отдельном файле. Вы также можете создать собственную сборку d3.js, которая включает все, что вам нужно в одном файле.

+0

true, но после включения макета я получаю: d3.rebind не является ошибкой функции внутри модуля макета. Как это решить? – 31415926

+1

У меня также есть d3.rebind - это не ошибка функции ... Я могу найти только одну ссылку на файл макета [здесь] (https://gist.github.com/davo/4186300) ... I используя d3 v4.1.1, но не может найти версию модуля макета ... –

+0

Где это [https://www.google.ru/search?q=d3.layout.js](https: //www.google.ru/search?q=d3.layout.js)? – vladkras

4

(это не ответ на этот вопрос)

Для людей с той же ошибкой:

d3.layout is undefined

В моем случае была проблема, я просто ссылку непосредственно до последней версии (v4)
https://d3js.org/d3.v4.min.js

С (v3) он снова работает.
https://d3js.org/d3.v3.min.js

7

Вы должны использовать d3.stack вместо этого.

Каждый символ в D3 4.0 теперь имеет пространство с плоскими именами, а не вложенное из D3 3.x. Например, d3.scale.linear теперь d3.scaleLinear и d3.layout.treemap теперь d3.treemap.

Для других изменений d3.layout идут сюда: https://github.com/d3/d3/blob/master/CHANGES.md

+0

Извините. Этот ответ ПРАВИЛЬНО для версии 4 – Juanjo

Смежные вопросы