D3 изменяется с версии 3.0, чтобы сделать круговой путь точек

Я пытаюсь сделать градиентный путь по кругу. Очень похоже на этот пример.

http://bl.ocks.org/mbostock/4163057

Это D3 версия 3. Я пытаюсь обновить это до версии 4. Я исправил несколько пунктов, таких как d3.ns.prefix.svg сейчас d3.namespaces.svgd3.svg.line().interpolate("basis") сейчас d3.line().interpolateBasis;

Что убивает меня, так это функция d3.line().interpolateBasis возвращает "линия не функция" d3.line а также d3.arc возвращается NaN.

вот рабочая версия того, что я пытаюсь сделать в D3 версии 3

http: // jsfiddle.net/firetiki/k3q0d848/

Вот код для D3 версии 4 с изменениями для v4, который не работает. Я получаю строку не является функцией в консоли.

http://jsfiddle.net/firetiki/9nwwgywz/

Любая помощь будет оценена. Может быть, мне не хватает другого изменения в обновлении версии?

2 ответа

Решение

Здесь нет interpolateBasis в D3 v4: https://github.com/d3/d3-shape/blob/master/README.md#curves

Итак, измените вашу строковую функцию следующим образом:

var line = d3.line().curve(d3.curveBasis);

Вот ваша скрипка с использованием D3 v4: http://jsfiddle.net/gerardofurtado/fro6Lu2x/

Майк Босток обновился до версии D3 4

http://bl.ocks.org/mbostock/4163057

Другие вопросы по тегам