Пример d3 для сетевой визуализации с возможностью складного масштабирования
Я провел интенсивный поиск по этой теме, и действительно трудно найти какой-либо пример по этой теме.
Немного предыстории:
Я начинающий в d3 и пытаюсь построить сетевую визуализацию, которая может сворачивать узлы при уменьшении масштаба. Прекрасный пример того, о чем я говорю, здесь: http://www.twittercensus.se/graph2013/ или даже googlemaps (не уверен, как они это делают, но я хотел бы сделать то же самое, используя d3.js)
Идея состоит не в том, чтобы отобразить все узлы (10K+), а сгруппировать их и показать только группы. Когда я увеличиваю масштаб, группа должна расширяться (при условии, что все узлы разнесены с помощью обнаружения столкновений)
Опять же, для ясности, когда я увеличиваю масштаб, я не хочу, чтобы узлы выглядели больше по размеру, но вместо этого я хочу сворачивающуюся функцию, где консолидированный узел разбивается на более мелкие узлы.
Несколько полезных ссылок:
- http://bl.ocks.org/mbostock/9656675 - пример обычного увеличения d3 (без складной функции)
- D3.js Масштабирование и панорамирование сворачиваемой древовидной диаграммы - опять же, это просто показывает, как скрыть узлы при свертывании (без взаимодействия с масштабируемыми объектами)
- Разборный / иерархический И принудительно-ориентированный граф в d3.js - полезные примеры, показывающие разваливающуюся сеть, но не в увеличенном масштабе. (без функции масштабирования)
1 ответ
Вам нужно объединить код во второй и третьей ссылках, и у вас будет свой ответ.