Wizualizacja wykresu z milionem wierzchołków

17

Jakiego narzędzia najlepiej użyć do wizualizacji (narysowania wierzchołków i krawędzi) wykresu zawierającego 1000000 wierzchołków? Na wykresie jest około 50000 krawędzi. Potrafię obliczyć położenie poszczególnych wierzchołków i krawędzi.

Zastanawiam się nad napisaniem programu do generowania pliku svg. Jakieś inne sugestie?

Cici
źródło
możesz wypróbować Graphviz ... nie jestem pewien, czy skaluje się do milionów wierzchołków ....
Debasis
Mam nadzieję, że odpowiedź na to pytanie może
wpłynąć
Witaj @Cici, zwykle odradzamy pytania na temat zalecanych narzędzi na tej i innych stronach SE, ponieważ zapraszają tylko wiele opinii.
Sean Owen,

Odpowiedzi:

19

Sugeruję również Gephioprogramowanie ( https://gephi.github.io ), które wydaje się być dość potężne. Niektóre dodatkowe informacje na temat korzystania Gephiz dużych sieci można znaleźć tutaj i, bardziej ogólnie, tutaj . Cytoscape( http://www.cytoscape.org ) jest alternatywą dla Gephi, będąc kolejną popularną platformą do kompleksowej analizy i wizualizacji sieci.

Jeśli chcesz programowo pracować z sieciami (w tym wizualizacją) w R, Python lub C / C ++, możesz sprawdzić igraphkolekcję bibliotek. Mówiąc o R, możesz zainteresować następujące posty na blogu: na temat używania R z Cytoscape ( http://www.vesnam.com/Rblog/viznets1 ) oraz na temat używania R z Gephi ( http://www.vesnam.com/ Rblog / viznets2 ).

Na rozległych list z analizy sieci i oprogramowania do wizualizacji , w tym niektóre porównania i opinie, może chcesz sprawdzić następujące strony: 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 .

Aleksandr Blekh
źródło
8

https://gephi.github.io/ mówi, że może obsłużyć milion krawędzi. Jeśli wykres ma 1000000 wierzchołków i tylko 50000 krawędzi, wówczas większość twoich wierzchołków i tak nie będzie miała żadnych krawędzi.

W rzeczywistości specyfikacja Gephi jest podwójna z twojego przykładu: „Sieci do 50 000 węzłów i 1 000 000 krawędzi”

Spacedman
źródło
8

Myślę, że w Gephiobliczu problemów z brakiem pamięci potrzebujesz co najmniej 8 GB pamięci RAM. Chociaż liczba krawędzi nie jest bardzo duża.

Być może bardziej odpowiednie byłoby w tym przypadku narzędzie GraphViz. Jest to narzędzie wiersza polecenia do wizualizacji sieci i przypuszczalnie byłoby bardziej odporne na rozmiar wykresu. Co więcej, jak pamiętam, w GraphVizcelu ułatwienia obliczeń można użyć wstępnie obliczonych współrzędnych.

Próbowałem znaleźć rzeczywiste przykłady użycia GraphVizz dużymi wykresami, ale nie udało mi się. Chociaż znalazłem podobną dyskusję na temat nauk obliczeniowych .

sobach
źródło
4

Zgłaszanie się: skończyłem z kodowaniem graphml i używaniem YEd do wizualizacji (tylko dlatego, że znam tę kombinację. Założę się, że gephi lub graphviz będą działać dobrze, a może nawet lepiej). Ponieważ obliczyłem położenie wszystkich węzłów, pamięć nie była tak dużym problemem. Kodowanie graphml jest trochę łatwiejsze w porównaniu do kodowania svg, ponieważ nie muszę jawnie określać położenia krawędzi.

Cici
źródło
2

PajekXXL jest zaprojektowany do obsługi ogromnych sieci. Ale Pajek jest również rodzajem dziwnego programu z nieintuicyjnym interfejsem.

Shadowtalker
źródło
2

Poleciłbym użyć Graphexp. Gephi jest wysoce zależne od pamięci RAM komputera, która jest oczywiście ograniczona. Z drugiej strony, Graphexp wyświetla tylko ograniczoną liczbę Węzłów, przez które można nawigować do innych węzłów. Wizualizowałem wykres z 700 milionami wierzchołków, używając Graphexp jako interfejsu użytkownika i Janusgraph z HBase jako pamięcią zaplecza. https://github.com/bricaud/graphexp

Sandeep Kumar
źródło
Naprawdę? dla mnie zaczyna się dusić, gdy próbuję pokazać więcej niż 100 wierzchołków
BrDaHa
Szybkość zależy głównie od bazy danych zaplecza i mocy obliczeniowej. Graphexp to tylko interfejs użytkownika.
Sandeep Kumar,
Zdaję sobie z tego sprawę, ale przez „dławienie” mam na myśli częstotliwość odświeżania spadającą do 1-2 fps podczas animacji węzłów pojawiających się na ekranie. Warto zauważyć, że jest to najnowsza wersja Safari
BrDaHa,
0

Spójrz na grafikę , mogą one obsługiwać węzły i krawędzie 1Mil.

Scott
źródło
Tak, Graphistry to jedyne interaktywne narzędzie wizualne dla dużych wykresów, ponieważ działa dla Ciebie na procesorach graficznych.
Leo Meyerovich,