Преобразование linkpath
Преобразование linkpath прокладывает видимую связь между двумя узлами. Чаще всего его используют для рёбер дерева или сети. По умолчанию исходный и конечный узлы соединяются прямой, но параметры формы и ориентации позволяют строить разные линии. Каждому объекту данных добавляется свойство со строкой контура связи в формате SVG.
Пример
Параметры преобразования
| Свойство | Тип | Описание |
|---|---|---|
| sourceX | Field | Поле с координатой X исходного узла (по умолчанию source.x). |
| sourceY | Field | Поле с координатой Y исходного узла (по умолчанию source.y). |
| targetX | Field | Поле с координатой X конечного узла (по умолчанию target.x). |
| targetY | Field | Поле с координатой Y конечного узла (по умолчанию target.y). |
| orient | String | Ориентация линии связи: vertical (по умолчанию), horizontal или radial. При radial параметры X и Y считаются углом в радианах и радиусом соответственно. |
| shape | String | Форма линии связи: line (по умолчанию), arc, curve, diagonal или orthogonal. |
| require | Signal | ≥ 4.3 Обязательный сигнал, от которого зависит преобразование. Нужен, если координаты узлов задаются как побочный результат преобразования в другом потоке данных, не передаваемый автоматически, например force. Тогда предыдущее преобразование следует привязать к сигналу и указать его в require. |
| as | String | Имя выходного поля с контуром связи (по умолчанию "path"). |
Использование
{"type": "linkpath"}
Строит прямые связи по стандартным полям координат исходного и конечного узлов и записывает результат в поле path.
{
"type": "linkpath",
"orient": "radial",
"sourceX": "source.angle",
"sourceY": "source.radius",
"targetX": "target.angle",
"targetY": "target.radius",
"shape": "orthogonal",
"as": "linkpath"
}
Строит связи в полярных координатах ("orient": "radial") по указанным полям исходного и конечного узлов. Линии проходят по ортогональным участкам, как в кластерной схеме или дендрограмме. Результат записывается в поле linkpath.