2017-01-10 12 views
0

Как и многие из вас, у меня возникли трудности с преобразованием моего старого кода в D3.js v4. Теперь я столкнулся с проблемой, для которой я не могу найти документацию и не могу ее исправить.D3.js V4 проблема миграции

Это был мой исходный код: https://jsfiddle.net/pt11q8hL/

, и мне удалось преобразовать его в: https://jsfiddle.net/m6vzt2sp/

Но теперь я застрял с тех пор

d3.stack().offset('wiggle').values(function(d) 

Возвращает ошибку,

d3.stack(...).offset(...).values is not a function 

Помогите понять, какой должен быть правильный синтаксис, также, если вы увидите любые другие вещи, которые необходимо преобразовать, дайте мне знать.

+2

В коде есть куча вещей, лучше всего было бы прокомментировать все и отладить линию за строкой, чтобы исправить это. Обратитесь к [Справочнику по API] (https://github.com/d3/d3/blob/master/API.md), чтобы узнать, как звонить. Подсказка: 'значения не являются функцией'. В общем, вы не можете конвертировать v3-> v4-код, скорее, вам нужно переписать его в новой версии, поскольку слишком многое изменилось. мой 2c. – Andrew

ответ

0

Я согласен с Эндрю в комментариях, я хотел бы предложить следующие общие шаги, основываясь на моем опыте мигрирующего несколько сценариев к v4, первой полосы от оси, масштабированию и анимации код, убедитесь, что основные моделирования кода функция или отлаживать его, после того, как вы его начнете добавлять в масштабирование, убедитесь, что он функционирует должным образом, , затем добавьте ось, и оттуда вы можете перейти ко всей анимации, если она есть, - , снова делая это с нуля документация - ваш лучший выбор, так как изменения между v3 и v4 в основном связаны с парадигмой (логикой), а не синтаксисом.