Остановите Force Layout на d3js и начните свободно перетаскивать узлы

используя макет силы для представления направленной невзвешенной сети. Мое вдохновение приходит из следующего примера:http://bl.ocks.org/mbostock/1153292

Так как мои собственные данные действительно беспорядок, яЯ хотел бы остановить макет и переместить узлы, перетаскивая их вручную. Я'Мне также нравится, что движение узла неизменить положение других. И это'Необходимо, чтобы ссылки стали длиннее, чтобы добраться до узла, который был перемещен.

Есть ли простой способ сделать это?

 riccardo.tasso15 мая 2013 г., 19:07
Моя проблема в том, что когда я перетаскиваю узел, он запускается снова ...говорят, что я бы остановился навсегда ...
 Lars Kotthoff15 мая 2013 г., 18:29
Тогда движение узлов должно прекратиться.
 Lars Kotthoff15 мая 2013 г., 17:21
Ты можешь позвонитьforce.stop() остановить симуляцию.
 Lars Kotthoff15 мая 2013 г., 19:25
К сожалению, вы можетеотключить это. Однако вы можете добавить собственное поведение перетаскивания вместо вызова.force.drag
 riccardo.tasso15 мая 2013 г., 18:06
тот'хорошо, но тогда?

Ответы на вопрос(2)

function nameOfFunction () {
    d3.selectAll(".classOfYourNodes").each(
        function(d) {
            d.fixed = true;
        }
    )
}

которая в этом случае устанавливаетфиксированный" атрибут true для каждого узла в выделении.

Изменить: выше в отношении вашего комментария о желании остановить все узлы ине продолжайте симуляцию силы при перетаскивании узла, как это делает вызов force.stop ().

Решение Вопроса
 Henry06 авг. 2015 г., 15:46
Лучше, чем кнопка остановки / запуска! Большое спасибо!

Ваш ответ на вопрос