Was ist das beste Werkzeug, um ein Diagramm mit 1000000 Eckpunkten zu visualisieren (die Eckpunkte und Kanten zu zeichnen)? Es gibt ungefähr 50000 Kanten in der Grafik. Und ich kann die Position einzelner Eckpunkte und Kanten berechnen.
Ich denke darüber nach, ein Programm zu schreiben, um ein SVG zu generieren. Irgendwelche anderen Vorschläge?
visualization
graphs
Cici
quelle
quelle
Antworten:
Ich schlage auch
Gephi
Software vor ( https://gephi.github.io ), die ziemlich mächtig zu sein scheint. Einige zusätzliche Informationen zur VerwendungGephi
in großen Netzwerken finden Sie hier und allgemein hier .Cytoscape
( http://www.cytoscape.org ) ist eine Alternative zuGephi
einer anderen beliebten Plattform für komplexe Netzwerkanalysen und -visualisierungen.Wenn Sie programmgesteuert (einschließlich Visualisierung) in R, Python oder C / C ++ mit Netzwerken arbeiten möchten, können Sie die
igraph
Sammlung von Bibliotheken überprüfen . Apropos R: Die folgenden Blogbeiträge könnten für Sie interessant sein: Verwendung von R mit Cytoscape ( http://www.vesnam.com/Rblog/viznets1 ) und Verwendung von R mit Gephi ( http://www.vesnam.com/ Rblog / viznets2 ).Auf den folgenden Seiten finden Sie umfangreiche Listen mit Netzwerkanalyse- und Visualisierungssoftware , einschließlich Vergleichs- und Überprüfungssoftware: 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 .
quelle
https://gephi.github.io/ sagt, dass es eine Million Kanten verarbeiten kann. Wenn Ihr Diagramm 1000000 Eckpunkte und nur 50000 Kanten hat, haben die meisten Ihrer Eckpunkte ohnehin keine Kanten.
Tatsächlich ist die Gephi-Spezifikation das Doppelte Ihres Beispiels: "Netzwerke mit bis zu 50.000 Knoten und 1.000.000 Kanten".
quelle
Ich denke, dass
Gephi
mit mangelndem Arbeitsspeicher Probleme konfrontiert sein könnten, benötigen Sie mindestens 8 GB RAM. Obwohl die Anzahl der Kanten nicht sehr groß ist.Möglicherweise wäre das geeignetere Werkzeug in diesem Fall
GraphViz
. Es ist ein Befehlszeilen-Tool für Netzwerkvisualisierungen, und es ist vermutlich toleranter gegenüber der Diagrammgröße. Darüber hinaus ist es, wie ich mich erinnere,GraphViz
möglich, vorberechnete Koordinaten zu verwenden, um Berechnungen zu erleichtern.Ich habe versucht, Beispiele für die Verwendung
GraphViz
in großen Diagrammen aus der Praxis zu finden, aber es gelang mir nicht. Ich fand jedoch eine ähnliche Diskussion über Computational Science .quelle
Berichterstattung: Am Ende habe ich Graphml codiert und yEd für die Visualisierung verwendet (nur weil ich mit dieser Kombination vertraut bin. Ich wette, Gephi oder Graphviz funktionieren gut und sind möglicherweise sogar besser). Da ich die Position aller Knoten berechnet habe, war der Speicher kein so großes Problem. Das Codieren von Graphml ist im Vergleich zum Codieren von Svg etwas einfacher, da ich die Platzierung von Kanten nicht explizit angeben muss.
quelle
PajekXXL wurde entwickelt, um enorme Netzwerke zu verwalten. Pajek ist aber auch eine Art bizarres Programm mit einer nicht intuitiven Oberfläche.
quelle
Ich würde empfehlen, Graphexp zu verwenden. Gephi ist in hohem Maße vom RAM Ihres Computers abhängig, der offensichtlich begrenzt ist. Graphexp hingegen zeigt nur eine begrenzte Anzahl von Knoten an, über die Sie zu anderen Knoten navigieren können. Ich habe ein Diagramm mit 700 Millionen Eckpunkten mit Graphexp als Benutzeroberfläche und Janusgraph mit HBase als Back-End-Speicher visualisiert. https://github.com/bricaud/graphexp
quelle
Werfen Sie einen Blick auf Graphistry , sie können Knoten und Kanten mit einer Länge von 1 Millimetern verarbeiten.
quelle