Всякий раз, когда вы обновляете this example, узлы в другом порядке. Как вы могли сделать так, чтобы при каждом обновлении порядок был одинаковым? Возможно, «под узел 1» вверху, а затем справа - «подузел 2» и т. Д., Все вокруг. Помимо этого, этот пример работает для того, что мне нужно достичь.d3 узлы компоновки силы в предсказуемом порядке
Нижеприведенные решения требуют фиксации узлов по точкам x, y. Но выполнение этого, кажется, устраняет функциональность перетаскивания (узлы должны быть перетащены в разные места, чтобы изменить порядок). Кроме того, я не всегда знаю, сколько узлов будет изначально.
https://groups.google.com/forum/#!topic/d3-js/NsHlubbv3pc
Calm down initial tick of a force layout
Configure fixed-layout static graph in d3.js
Хотя сопротивление является требованием, то анимация не является. Я попытался посмотреть, не остановился ли эффект анимации, но это не так.
var n = 50;
for (var i = 0; i < n; ++i) force.tick();
force.stop();
Кроме того, попробовал добавить новое свойство к данным, дающим каждому ребенку ранг, чтобы каким-то образом манипулировать. И попытался присвоить id ранга и сортировку. Также попытался использовать индексный номер массива объектов. Не повезло. Спасибо за любые идеи.
Нет. Внедрение силовой схемы по дизайну является недетерминированным. –
AFAIK просто возможно с очень простой компоновкой статической силы http://bl.ocks.org/mbostock/1667139 – kwoxer
@Lars Kotthoff Спасибо Lars. Исходя из этого, я переключился на обычную схему дерева в радиальном стиле. Это наводит порядок. Надеюсь, я смогу найти способ добавить функцию перетаскивания, чтобы переместить узлы, но это другой вопрос. – airwwwave