Преобразование partition
Преобразование partition размещает узлы диаграммы смежности — варианта дерева, заполняющего доступное пространство. Вместо линий между родителями и потомками узлы изображаются заполненными областями: дугами или прямоугольниками. Их взаимное расположение показывает место в иерархии, а размер передаёт количественный показатель, который трудно показать в обычной схеме дерева.
Преобразование работает со специальными объектами узлов дерева, созданными предшествующим преобразованием nest или stratify. Исходный объект данных доступен в поле data узла. Используется библиотека d3-hierarchy.
Пример
Параметры преобразования
| Свойство | Тип | Описание |
|---|---|---|
| field | Field | Поле с числовым значением узла. Сумма значений узла и всех его потомков доступна как свойство value объекта узла. Поле определяет размер узла; если оно не задано, учитывается число листовых узлов. |
| sort | Compare | Функция сравнения для сортировки дочерних узлов одного родителя. Она получает объекты узлов дерева, а не исходные объекты данных. |
| padding | Number | Отступ между соседними узлами (по умолчанию 0). |
| round | Boolean | Округлять ли вычисленные координаты узлов (по умолчанию false). |
| size | Number[ ] | Размер области размещения в виде массива [width, height]. |
| as | String[ ] | Имена выходных полей с результатом размещения (по умолчанию ["x0", "y0", "x1", "y1", "depth", "children"]). Первые четыре поля задают начальные и конечные координаты сегмента; depth — глубину в дереве, children — число дочерних узлов. |
Использование
{
"type": "partition",
"field": "value",
"padding": 1,
"size": [{"signal": "width"}, {"signal": "height"}]
}
Рассчитывает размещение с отступом 1 пиксель между узлами во всю ширину и высоту представления. Размер листовых узлов пропорционален полю value.