Візуалізація графіка з мільйоном вершин


17

Який найкращий інструмент використовувати для візуалізації (малювання вершин і ребер) графіка з 1000000 вершин? У графіку є близько 50000 ребер. І я можу обчислити розташування окремих вершин і ребер.

Я думаю про те, щоб написати програму для створення svg. Будь-які інші пропозиції?


ви можете спробувати Graphviz ... не впевнений, чи він масштабується до мільйонів вершин ....
Debasis

Сподіваємось, відповідь на це питання може торкнутися того, як були зроблені такі графіки: medium.com/i-data/…
shadowtalker

Привіт @Cici, зазвичай питання щодо рекомендованих інструментів не відволікають на цьому та інших веб-сайтах SE, оскільки вони просто закликають багато думок.
Шон Оуен

Відповіді:


19

Я також пропоную Gephiпрограмне забезпечення ( https://gephi.github.io ), яке здається досить потужним. Деякі додаткові відомості про використання Gephiу великих мережах можна знайти тут і, загалом, тут . Cytoscape( http://www.cytoscape.org ) є альтернативою Gephi, будучи ще однією популярною платформою для складного аналізу мережі та візуалізації.

Якщо ви хочете працювати з мережами програмно (включаючи візуалізацію) в R, Python або C / C ++, ви можете перевірити igraphколекцію бібліотек. Якщо говорити про R, то вам можуть бути цікаві такі повідомлення в блозі: про використання R з Cytoscape ( http://www.vesnam.com/Rblog/viznets1 ) та про використання R з Gephi ( http://www.vesnam.com/ Rblog / viznets2 ).

Щоб отримати докладні списки програмного забезпечення для мережевого аналізу та візуалізації , включаючи деякі порівняння та огляди, ви можете перевірити наступні сторінки: 1) http://wiki.cytoscape.org/Network_analysis_links ; 2) http://www.kdnuggets.com/software/social-network-analysis.html ; 3) http://www.activatenetworks.net/social-network-analysis-sna-software-review .


8

https://gephi.github.io/ говорить, що він може обробляти мільйон ребер. Якщо ваш графік має 1000000 вершин і лише 50000 ребер, то більшість ваших вершин так і не матимуть ребер.

Насправді специфікація Gephi є подвійним у вашому прикладі: "Мережі до 50 000 вузлів і 1 000 000 ребер"


8

Я думаю, що це Gephiможе зіткнутися з недостатністю пам'яті, вам знадобиться принаймні 8 Гбіт оперативної пам'яті. Хоча кількість ребер не надзвичайно величезна.

Можливо, більш відповідним інструментом у цьому випадку був би GraphViz. Це інструмент командного рядка для візуалізації мережі, і, імовірно, буде більш толерантним до розміру графіка. Більше того, наскільки я пам’ятаю, GraphVizдля полегшення обчислень можна використовувати попередньо обчислені координати.

Я намагався знайти реальні приклади використання GraphVizз величезними графіками, але це не вдалося. Хоча я знайшов подібну дискусію з обчислювальної науки .


4

Зворотній звіт: я закінчив кодування graphml і використовую yEd для візуалізації (тільки тому, що я знайомий з цією комбінацією. Б'юсь об заклад, що gephi або graphviz спрацюють нормально і може бути навіть краще). Оскільки я розраховував розташування всіх вузлів, пам'ять не була такою великою проблемою. Кодування graphml трохи легше порівняно з кодуванням svg, оскільки мені не потрібно чітко вказувати розміщення ребер.


2

PajekXXL призначений для роботи з величезними мережами. Але Pajek - це теж різновид химерної програми з неінтуїтивним інтерфейсом.


2

Я б порекомендував використовувати Graphexp. Gephi сильно залежить від оперативної пам'яті вашого комп'ютера, яка, очевидно, обмежена. З іншого боку, Graphexp відображає лише обмежену кількість вузлів, за допомогою яких можна переходити до інших вузлів. Я візуалізував графік з 700 мільйонами вершин, використовуючи Graphexp як інтерфейс користувача та Janusgraph з HBase як резервне сховище. https://github.com/bricaud/graphexp


Дійсно? для мене він починає задихатися, коли намагається показати більше 100 вершин
BrDaHa

Швидкість залежить головним чином від бази даних та обчислювальної спроможності. Graphexp - це лише інтерфейс користувача.
Сандіп Кумар

Я усвідомлюю це, але під "задухом" я маю на увазі швидкість оновлення знизиться до 1-2 кадрів в секунду при анімації вузлів, що виходять на екран. Можливо, допоможе зауважити, що мова йде про останню версію Safari
BrDaHa

0

Погляньте на Graphistry , вони можуть обробляти вузли та краї 1Mil.


Так, графістика - це єдиний інтерактивний візуальний інструмент для великих графіків, оскільки він працює для вас на графічних процесорах.
Лев Мейєрович
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.