Визуализация DAG - PullRequest
       23

Визуализация DAG

16 голосов
/ 19 августа 2010

У меня большой ориентированный ациклический граф, который я хотел бы визуализировать в растровом изображении.

В идеале мне бы хотелось, чтобы все корневые узлы находились вверху изображения, а все листовые узлы внизу, т. Е. Все ребра графа были направлены вниз.

Есть ли хороший алгоритм для определения координат всех узлов, который отвечает этим ограничениям и даст хорошую визуализацию?

Ответы [ 5 ]

13 голосов
/ 19 августа 2010

Советую использовать Gephi .

Этот софт способен делать все что угодно, особенно макеты графиков!

8 голосов
/ 19 августа 2010

Посмотрите на коллекцию программного обеспечения Graphviz .Он содержит несколько программ для визуализации графиков.

Самый простой способ - записать график на диск в одном из текстовых форматов Graphviz.Затем запустите одну из программ рендеринга и загрузите полученное изображение в ваше приложение.

3 голосов
/ 20 августа 2010

Байесовские сети имеют аналогичные требования.Вы можете искать алгоритмы для байесовских сетей. Эта статья, например, может быть полезна.

0 голосов
/ 20 сентября 2015

Вы можете попробовать этот пакет Go, который я написал: https://github.com/h8liu/e8tools/tree/master/dagvis

Пример: http://lonnie.io/gostd/dagvis/

0 голосов
/ 14 июля 2015

Вас может заинтересовать рисование многоуровневого графа (также известного как «рисование иерархического графа» или «рисование графа в стиле Сугияма»). Алгоритм слишком длинный, чтобы описывать его здесь, но поиски в Google приводят много надежных объяснений.

...