Каков наилучший способ размещения взаимосвязанных узлов в 2-мерном графе? - PullRequest
0 голосов
/ 27 января 2010

У меня есть список (график?) Узлов, и каждый узел связан с другими узлами в списке один или несколько раз.Я хочу взять эти узлы и расположить их в виде красивой двухмерной диаграммы с линиями, соединяющими их оптимальным образом.Каков наилучший алгоритм для этого, чтобы они были равномерно разнесены и линии, соединяющие их, были максимально распутаны?

Ответы [ 4 ]

1 голос
/ 27 января 2010

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

См. http://networkx.lanl.gov/reference/drawing.html - для некоторых примеров раскладок.

1 голос
/ 24 сентября 2010

Кто-то реализовал принудительно-ориентированный граф в JavaScript и дал мне разрешение делать с ним то, что я хочу: http://www.reddit.com/r/programming/comments/bqr7v/force_directed_graph_layout_in_javascript/c0o4ka5?context=3

1 голос
/ 27 января 2010

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

Если вы хотите узнать больше об используемых алгоритмах, ознакомьтесь с разделом Theory .

Вот пример из их галереи : GraphViz Example

0 голосов
/ 28 ноября 2012

Вот хорошая куча различных идей для Infovis https://github.com/mbostock/d3/wiki/Gallery

...