2013-11-21 1 views
7

Я пытаюсь разработать веб-приложение, чтобы помочь в графике узлов и их взаимодействий.Графический алгоритм для многих узлов

Я попытался использовать Sigma.Js с расширением Force Atlas.

Для моих простых тестов (несколько узлов) результаты выглядят неплохо, однако с дополнительными тысячами узлов результат становится довольно беспорядочным.

Many nodes vs Few Nodes

Есть ли такой способ, чтобы сделать результат более вид в состоянии? (проще на глазах/не только на 1 большой блоб) Как бы я это сделал? Существуют ли какие-либо алгоритмы, уже написанные (что я могу реализовать?)

+3

Поиск в Google «алгоритмы кластеризации графа» или «иерархическая кластерная графа». – JayC

+2

Вы используете SCC для разделения графика на меньший компонент (представляете каждый SCC как единый узел, который расширяется при выборе) –

+0

SCC == Сильно подключенный компонент? – 1478963

ответ

2

Вы можете попробовать схему силы Фрухтермана-Рейнгольда (для которой есть sigma plugin). Это, в частности, минимизирует количество ссылок, которые пересекают друг друга, поэтому в целом они более подходят для больших графиков (если все узлы не имеют большого количества соединений).

Кроме того, fisheye plugin может помочь сделать больше смысла графика после его нарисования.

2

sigma.layout.forceAtlas2 шкалы намного лучше, однако это не будет делать чудеса, если граф имеет плотность контактов.