Подтвердить что ты не робот

Визуализировать большие графики

У меня есть график с 690 024 узлами и 7 398 042 ребрами и хочу визуализировать его. Я использовал графическую точку и gephi, но оба они заканчиваются из-за низкой памяти. Есть ли способ исправить эту проблему?

4b9b3361

Ответ 1

Gephi имеет ограничение, основанное на объеме памяти, выделенной для него в JVM. Проверьте http://gephi.org/users/requirements/, чтобы внести изменения.
Я бы предложил использовать платформу сетевого анализа Stanford (SNAP).
Основная библиотека SNAP написана на С++ и оптимизирована для максимальной производительности и компактного представления графиков.
Он легко масштабируется до массивных сетей с сотнями миллионов узлов и миллиардами краев. Он эффективно манипулирует большими графиками, вычисляет структурные свойства, генерирует регулярные и случайные графики и поддерживает атрибуты на узлах и ребрах. Помимо масштабируемости для больших графиков, дополнительной силой SNAP является то, что узлы, ребра и атрибуты в графике или сети могут динамически изменяться во время вычисления.

Ответ 2

Мы создаем http://www.github.com/graphistry/pygraphistry, чтобы сделать это из большинства браузеров и ноутбуков. Идея состоит в том, чтобы использовать WebGL для рендеринга больших графиков (панорамирование/масштабирование/и т.д.) И выгрузить большую часть вычислений в реальном времени (макет, фильтр и т.д.) В облако графического процессора. Он похож на Gephi и Cytoscape, но с большей концентрацией на масштабирование до больших графиков и оптимизацию анализа данных, а также интеграцию в веб-приложения и среду ноутбуков.

Ответ 3

Возможно, вы захотите рассмотреть Hive plot, если вам нужно визуализировать отношения между всеми ребрами для графика такого размера. Если вам нужно построить график, где отображаются узлы и ребра, вы можете попробовать igraph, который имеет интерфейс Python и R. Я построил очень большие графики, используя igraph через R, но я не могу вспомнить требования к памяти (это, вероятно, будет зависеть от данных).

Ответ 4

Попробуйте Tulip. Я загрузил источник и перестроил, это легко, когда вы установили Qt SDK.

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

Ответ 5

LGL работал в таком случае для статических визуализаций - по крайней мере несколько лет назад:)

http://lgl.sourceforge.net/ http://www.ncbi.nlm.nih.gov/pubmed/15184029?dopt=Abstract

Я использовал его, например, для цифры: https://static-content.springer.com/image/art%3A10.1186%2F1471-2105-7-276/MediaObjects/12859_2006_Article_1015_Fig2_HTML.jpg

в документе: http://bmcbioinformatics.biomedcentral.com/articles/10.1186/1471-2105-7-276 с данными, имеющими сопоставимое количество узлов и ребер.