2013-03-15 7 views
1

Я попытался использовать this это стреловидный сила направленного графа, например (на основе d3.js)d3.js стрелка ориентированного графа: добавление узлов/ссылок на лета

И я хочу, чтобы динамически добавлять узлы/ссылки на график, без перезапуска анимации.

Я не эксперт по javascript и не специалист по d3.js, но независимо от того, что я пытался сделать, мне не удалось создать метод AddLinks (links), который добавит динамически больше ссылок.

Лучшее, что мне удалось сделать, это динамически добавлять ссылки, но они не знали о существовании остальной части графика.

Конечно, я знаю, в чем моя проблема. Я использовал метод «силы» в два раза, по отдельности, но я не мог найти, как взаимодействовать с уже существующей «силы» ...

ответ

2

documentation for force.start() явно говорит

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

Таким образом, способ сделать то, что вы хотите, это добавить ссылки к исходной силовой макете, а затем перезапустить имитацию. Если вы не перезапустите, эти ссылки не будут приняты во внимание, и результаты моделирования будут выглядеть странно.

Вы можете, конечно, попытаться показать, что имитация не перезапускается, установив позиции узлов в позиции в конце текущей симуляции, прежде чем перезапускать ее.

+0

Я вижу .. но это кажется немного обходным путем ... нет ли способа добавить их, не перезагружая? – Letterman

+0

В любом случае, не могли бы вы мне помочь? – Letterman

+1

Вот пример, который может быть полезен [здесь] (http://bl.ocks.org/mbostock/1095795). –

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

  • Нет связанных вопросов^_^