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

Преобразование treemap рекурсивно разбивает область на прямоугольники, площади которых пропорциональны значениям соответствующих узлов.

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

Пример

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

Свойство Тип Описание
field Field Поле с числовым значением узла. Сумма значений узла и потомков доступна как свойство value объекта узла. Поле определяет размер узла; если оно не задано, учитывается число листовых узлов.
sort Compare Функция сравнения для сортировки дочерних узлов одного родителя. Она получает объекты узлов дерева, а не исходные объекты данных.
method String Метод размещения: squarify (по умолчанию), resquarify, binary, dice, slice или slicedice. После первого расчёта resquarify сохраняет взаимное положение узлов даже при изменении их размеров.
padding Number Задаёт одинаковые значения paddingInner и paddingOuter.
paddingInner Number Отступ между соседними дочерними узлами одного родителя (по умолчанию 0).
paddingOuter Number Отступ между краями родительского узла и дочерними узлами (по умолчанию 0). Задаёт одинаковые значения paddingTop, paddingRight, paddingBottom и paddingLeft.
paddingTop Number Отступ между верхним краем узла и его дочерними узлами.
paddingRight Number Отступ между правым краем узла и его дочерними узлами.
paddingBottom Number Отступ между нижним краем узла и его дочерними узлами.
paddingLeft Number Отступ между левым краем узла и его дочерними узлами.
ratio Number Целевое соотношение сторон для squarify или resquarify. По умолчанию используется золотое сечение: φ = (1 + sqrt(5)) / 2.
round Boolean Округлять ли вычисленные координаты узлов (по умолчанию false).
size Number[ ] Размер области размещения в виде массива [width, height].
as String[ ] Имена выходных полей с результатом размещения (по умолчанию ["x0", "y0", "x1", "y1", "depth", "children"]). Первые четыре поля задают границы прямоугольника; depth — глубину в дереве, children — число дочерних узлов.

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

{
  "type": "treemap",
  "field": "value",
  "method": "resquarify",
  "ratio": 1,
  "paddingInner": 0,
  "paddingOuter": 2,
  "size": [{"signal": "width"}, {"signal": "height"}]
}

Рассчитывает мозаичную диаграмму устойчивым методом resquarify с квадратным соотношением сторон (1) и внешним отступом 2 пикселя между родительскими и дочерними узлами. Используется вся ширина и высота представления.