Преобразование tree

Преобразование tree рассчитывает расположение узлов и связей иерархического дерева. Поддерживаются кластерная схема, например дендрограмма, и компактная схема tidy по методу Рейнгольда и Тилфорда с последующими исправлениями Буххайма и соавторов. Координаты x и y задают условную систему: например, если считать x углом, а y радиусом, получится радиальная схема.

Преобразование работает со специальными объектами узлов дерева, созданными предшествующим преобразованием nest или stratify. Исходный объект данных доступен в поле data узла. Используется библиотека d3-hierarchy.

Пример

Параметры преобразования

Свойство Тип Описание
field Field Поле с числовым значением узла. Сумма значений узла и всех его потомков доступна как свойство value объекта узла. Если поле не задано, учитывается число листовых узлов.
sort Compare Функция сравнения для сортировки дочерних узлов одного родителя. Она получает объекты узлов дерева, а не исходные объекты данных.
method String Метод размещения: tidy (по умолчанию) или cluster.
separation Boolean ≥ 4.3 Раздвигать ли узлы по степени родства. При true (по умолчанию) узлы разных ветвей располагаются дальше друг от друга, чем узлы с общим родителем. При false расстояния одинаковы, как в обычной дендрограмме.
size Number[ ] Размер области размещения в виде массива [width, height].
nodeSize Number[ ] Размер каждого узла в виде массива [width, height].
as String[ ] Имена выходных полей с результатом размещения (по умолчанию ["x", "y", "depth", "children"]). x и y — координаты, depth — глубина в дереве, children — число дочерних узлов.

Использование

{
  "type": "tree",
  "method": "tidy",
  "size": [{"signal": "width"}, {"signal": "height"}]
}

Рассчитывает дерево методом tidy во всю ширину и высоту представления.