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

23

Пример прямого графа силы можно найти здесь:http://bl.ocks.org/950642

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

https://github.com/mbostock/d3/wiki/Force-Layout

Я немного поиграл безуспешно, и мне интересно, сможет ли кто-нибудь дать мне быстрый пример того, как добавить такую поддержку, как описано выше.

Идея: изменить оригинальную функцию force.drag, чтобы она не играла с фиксированным состоянием при наведении курсора мыши norrs
Пожалуйста, напишите, что у вас есть Wex
Если бы это было почти близко к чему-то работающему, я бы с удовольствием опубликовал это. Но лучше использовать пример, приведенный в качестве основы, так как это самый близкий к этому момент, который я получил, иначе ничего. Во всяком случае, я вчера думал над всей проблемой и работал над некоторыми идеями. Я буду публиковать обновления, когда получу какой-либо прогресс norrs

Ваш Ответ

1   ответ
30

Наконец-то все заработало после того, как выяснилось, что не идеально бороться с двумя "перетаскиванием" слушатели (ваши собственные, и force.drag) подключены к узлам!

Намного лучше иметь только свой собственный & lt; drag & quot; -listener и вызывать tick () вручную, что является ключевой особенностью получения графа силы для позиционирования узлов для вас на каждой новой позиции узла на узле, который вы перетаскиваете.

Рабочий пример:http://bl.ocks.org/2883411

Он не отображается должным образом в FF. Узел для перетаскивания не появляется. В Chrome изображение в узле предназначено для неработающей ссылки на изображение.
Кстати, на моем Macbook Pro с текущей версией FF и Chrome Chrome выглядит лучше всех. ФФ выглядит заикающимся.
хорошая работа :) вы должны добавить это в вики d3
Хороший план, я сделаю это :-) norrs
@Spaceghost: обновлено изображение svg, чтобы теперь использовать значок github. Прекрасно работает в Chrome. Когда дело дошло до FF, я обнаружил, что он имеет плохую производительность по сравнению с Chrome для этих графиков, так как алгоритм принудительного размещения довольно ресурсоемкий. (протестировано с версией iceweasel 10.0.12 (версия firefox для Debian в Debian). Но она тоже заикается:bl.ocks.org/mbostock/1129492 поэтому я виню фф. Может, лучше работает в новой версии? norrs

Похожие вопросы