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


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.