D3 JS компоновка дерева несколько родителей


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

Любая помощь очень ценится.

1 4

1 ответ:

Если у вас несколько родителей, у вас на самом деле нет древовидной структуры. Макет сети - это ваш лучший вариант. Здесь - Пример силовой компоновки с ограничениями. В этом случае я принудил значения x к определенным значениям. Вы можете сделать что-то подобное, используя уровень дерева, чтобы установить значение x или y.

Соответствующий код:

var adjust_x = function(d) {
  return x(d.time);
};

force.on("tick", function () {
    link.attr("x1", function (d) {
        return adjust_x(d.source);
    }) // snipped remainder...