Установить длину ссылки дерева D3 на основе переменной - PullRequest
0 голосов
/ 12 марта 2020

Я использую дерево D3, и мои узлы могут быть типа 1 или 2. Мне бы хотелось, чтобы, если узел отмечен как тип 1, ссылка на него была намного короче. Как бы я это сделал? Я работаю с этим примером дерева: https://observablehq.com/@d3 / collapsible-tree

1 Ответ

0 голосов
/ 12 марта 2020

Я только что поиграл со ссылкой Observable, и похоже, что есть 3 фрагмента кода, которые нужно изменить, чтобы сделать ссылки короче:

// Enter any new nodes at the parent's previous position.
const nodeEnter = node.enter().append("g")
    .attr("transform", d => `translate(${source.y0/2},${source.x0})`)


 // Transition nodes to their new position.
 const nodeUpdate = node.merge(nodeEnter).transition(transition)
    .attr("transform", d => `translate(${d.y/2},${d.x})`)

diagonal = d3.linkHorizontal().x(d => d.y/2).y(d => d.x)

Я добавил "/ 2 "на половину ширины ссылок.

Итак, чтобы сделать это условным, вы можете попробовать добавить оператор if в вышеуказанных 3 местах?

...