Макеты
Справочник API ▸ Макеты
Макет представляет стратегию визуального расположения элементов данных относительно друг друга. Это может быть простая задача, например, выравнивание столбцов в диаграмме (где основание одного столбца зависит от высоты предыдущих), или сложная, например, маркировка карты (сдвиг меток до тех пор, пока не будет минимизировано перекрытие с другими элементами карты). Макеты принимают набор входных данных, применяют алгоритм или эвристику и выдают результирующие позиции/формы для связного отображения данных.
Макеты похожи на генераторы путей d3.svg, так как они обеспечивают преобразование данных в форму отображения. Однако макеты обычно работают со всей коллекцией данных, а не с отдельными элементами. Кроме того, результаты макета могут быть использованы где угодно, а не только с SVG. Некоторые макеты даже динамичны во времени: например, вы можете .start() экземпляр, а затем прослушивать обновления макета на 'tick' событиях.
Многие макеты встроены в сам D3:
- Bundle - применяет алгоритм иерархического объединения Холтена к рёбрам.
- Chord - создает диаграмму связей из матрицы отношений.
- Cluster - группирует сущности в дендрограмму.
- Force - позиционирует связанные узлы с помощью физической симуляции.
- Hierarchy - создает собственную реализацию иерархического макета.
- Histogram - вычисляет распределение данных с использованием квантованных бинов.
- Pack - создает иерархический макет с использованием рекурсивного размещения кругов.
- Partition - рекурсивно разделяет дерево узлов на солнцепёк или ицикл.
- Pie - вычисляет начальные и конечные углы для дуг в круговой или кольцевой диаграмме.
- Stack - вычисляет базу для каждого ряда в столбчатой или лепестковой диаграмме.
- Tree - аккуратно размещает дерево узлов.
- Treemap - использует рекурсивное пространственное деление для отображения дерева узлов.
Экземпляры макетов иногда являются функциями (хотя и необязательно), которые можно настроить и применить к набору данных. В других случаях используются определённые методы или обработчики событий для ввода данных и вывода позиций. Обратитесь к документации каждого конкретного макета для использования.
© 2010–2016 Michael Bostock
Licensed under the BSD License.
https://github.com/d3/d3-3.x-api-reference/blob/master/Layouts.md