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?
visualization
graphs
Cici
źródło
źródło
Odpowiedzi:
Sugeruję również
Gephi
oprogramowanie ( https://gephi.github.io ), które wydaje się być dość potężne. Niektóre dodatkowe informacje na temat korzystaniaGephi
z dużych sieci można znaleźć tutaj i, bardziej ogólnie, tutaj .Cytoscape
( http://www.cytoscape.org ) jest alternatywą dlaGephi
, 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ć
igraph
kolekcję 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 .
źródło
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”
źródło
Myślę, że w
Gephi
obliczu 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, wGraphViz
celu ułatwienia obliczeń można użyć wstępnie obliczonych współrzędnych.Próbowałem znaleźć rzeczywiste przykłady użycia
GraphViz
z dużymi wykresami, ale nie udało mi się. Chociaż znalazłem podobną dyskusję na temat nauk obliczeniowych .źródło
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.
źródło
PajekXXL jest zaprojektowany do obsługi ogromnych sieci. Ale Pajek jest również rodzajem dziwnego programu z nieintuicyjnym interfejsem.
źródło
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
źródło
Spójrz na grafikę , mogą one obsługiwać węzły i krawędzie 1Mil.
źródło