Mam wykres z 690,024 węzłami i 7,398,042 krawędziami i chcę go zwizualizować. Użyłem kropki i gephi graphviz, ale oba kończą się z powodu małej ilości pamięci. Czy istnieje sposób, aby rozwiązać ten problem?Wizualizacja dużych wykresów
Odpowiedz
Gephi ma limit na podstawie ilości pamięci przydzielonej mu w JVM. Sprawdź to http://gephi.org/users/requirements/, aby wprowadzić zmiany.
Proponuję użyć Stanford Network Analysis Platform (SNAP).
Główna biblioteka SNAP jest napisana w języku C++ i zoptymalizowana pod kątem maksymalnej wydajności i kompaktowej reprezentacji graficznej.
Łatwo skaluje się do ogromnych sieci z setkami milionów węzłów i miliardami krawędzi. Skutecznie manipuluje dużymi wykresami, oblicza właściwości strukturalne, generuje regularne i losowe wykresy oraz obsługuje atrybuty na węzłach i krawędziach. Oprócz skalowalności do dużych wykresów, dodatkową siłą SNAP jest to, że węzły, krawędzie i atrybuty na wykresie lub w sieci mogą być dynamicznie zmieniane podczas obliczeń.
Wypróbuj Tulip. Pobrałem źródło i przebudowałem, jest to łatwe, gdy zainstalujesz Qt SDK.
edit myślę, że procesor Graphviz dla dużych wykresach powinny być sfdp, zobacz pierwszą dyskusję (ładowanie bardzo duży wykres nie powiodło się)
Tulip działa dobrze dla mniejszych wykresów, ale dla mojego wykresu rozbił się po dniu. – AliBZ
może warto rozważyć Hive plots jeśli chcesz wizualizować relacje między wszystkimi krawędziami wykres o tej wielkości. Jeśli potrzebujesz zbudować wykres, w którym wyświetlane są węzły i krawędzie, możesz wypróbować wersję igraph, która ma interfejs Python i R. Skonstruowałem bardzo duże wykresy, używając igraph do R, ale nie mogę przypomnieć sobie wymagań dotyczących pamięci (prawdopodobnie i tak zależałoby to od danych).
Budujemy http://www.github.com/graphistry/pygraphistry, aby umożliwić to działanie z większości przeglądarek i notebooków. Chodzi o to, aby użyć WebGL do renderowania dużych wykresów (panoramowanie/powiększanie/itp.) I odciążyć większość obliczeń czasu rzeczywistego (układ, filtr itp.) Do chmury GPU. Jest podobny do Gephi i Cytoscape, ale bardziej koncentruje się na skalowaniu do dużych wykresów i usprawnianiu analizy danych oraz integracji w aplikacjach internetowych i środowiskach przenośnych.
LGL wykorzystywane do pracy w takim przypadku do wizualizacji statycznych - co najmniej kilka lat temu :)
http://lgl.sourceforge.net/ http://www.ncbi.nlm.nih.gov/pubmed/15184029?dopt=Abstract
użyłem go np na rysunku: https://static-content.springer.com/image/art%3A10.1186%2F1471-2105-7-276/MediaObjects/12859_2006_Article_1015_Fig2_HTML.jpg
w papierze : http://bmcbioinformatics.biomedcentral.com/articles/10.1186/1471-2105-7-276 z danymi o porównywalnej liczbie węzłów i krawędzi.
To naprawdę miłe z ciebie, młody człowieku. Bądź nadal tak miły i odważny i daj mi e-mail z Twoim prawdziwym imieniem. Chciałbym porozmawiać z twoim opiekunem dyplomowym. Pozdrowienia, Michał Okoniewski, dr hab, ETH Zurich. – MichalO
ile masz dostępnej pamięci RAM? w jakim formacie są wykresy? –
Mam 24 GB pamięci RAM i obecnie mój wykres jest w formacie kropki, ale nie mogę go zmienić na nic. – AliBZ