Dynamische Netzwerkvisualisierung

Ich habe es mit einer Menge von Graphen mittlerer Ordnung (einige tausend Knoten, einige hunderttausend Kanten) zu tun, die aber auch eine zeitliche Komponente haben.

Das bedeutet, dass bestimmte Knoten und/oder Kanten nur während bestimmter Zeitintervalle aktiv sind.

Im Moment handhabe ich diese zeitliche Natur "manuell", indem ich den Graphen im Grunde zu einem bestimmten Zeitpunkt abfrage und ihn bei Bedarf über yEd rendere .

ABER wenn Sie versuchen, die zeitliche Entwicklung des Netzwerks darzustellen, "springen" die Knoten herum, weil ihre Position nicht während der gesamten Visualisierung festgelegt ist.

Ich habe versucht, das gesamte Netzwerk zu zeichnen (den zeitlichen Aspekt zu ignorieren), dies zu visualisieren, um die Position der Knoten zu fixieren, und dann jede Kante in Abhängigkeit von der zeitlichen Dimension mit einigem Erfolg zu aktivieren / deaktivieren. Dies ist jedoch ein Hack und es erfordert einiges an Aufwand, all diese Informationen zusammenzustellen. Ich frage mich, ob es da draußen schon etwas gibt, das sich darum kümmert (?)

Kennt jemand eine ähnliche (wie yEd) Software zur Visualisierung dynamischer Netzwerke?

Antworten (2)

Sie könnten das Modell „Network Import Example“ von Netlogo verwenden und es mit Code aus dem „Network Example“ anpassen (das ein animiertes Diagramm mit herumfliegenden Links zeigt). Beide Modelle sind in der Modellbibliothek vorhanden (= vorinstalliert).

Vielleicht ist es nicht Ihr Anwendungsfall und vielleicht ist es zu viel Aufwand, die neue Programmiersprache zu lernen. Vielleicht müssen Sie den Datumsbereich mit einem Datepicker angeben, und das könnte in Netlogo ziemlich kompliziert sein.... Nur um zu sagen: Eine funktionierende Lösung nach Ihren Anforderungen würde wahrscheinlich mehr Arbeit verursachen als erwartet.

Geben Sie hier die Bildbeschreibung ein

"Netzwerkimportbeispiel" nimmt eine Nodelist und eine Edgelist beide als .txt-Dateien auf. Aber ich weiß nicht, wie ich die Sequenz zum Erstellen / Löschen von Links importieren soll. Die Nodelist-Datei sieht beispielsweise so aus:

1    1.2    red
2    1.0    blue
3    1.5    yellow
4    2      green
5    1.8    orange
6    1.4    red
7    2      blue
8    1.5    yellow
9    1      green
10   1.2    orange

und die Edgelist so:

1  4  0.8
2  3  1.0
2  5  3
2  7  2.5
2  8  1.3
2  10 2.2
3  9  2.3
5  6  2.8
6  5  1.2
6  9  0.3
7  2  1.1
8  1  2.6
9  8  2.1
10 7  0.2
Vielen Dank für Ihre Antwort. Ich habe NetLogo schon früher verwendet, aber womit ich es zu tun habe, ist so etwas ( aber komplexer). Daher ist der Graph-Layout-Algorithmus ein wesentliches Merkmal der Software, die ich suche. Das kreisförmige Layout ist in diesem speziellen Fall, mit dem ich es zu tun habe, nicht sehr nützlich.

Vielleicht sollten Sie Python und das Paket verwenden networkx,

Sie haben die volle Kontrolle über den zeitlichen Aspekt und können problemlos mit jeder Art von Daten umgehen.

Viele Beispiele sind verfügbar, und Sie können eine sehr effiziente Hilfe von der Stackoverflow- Community erhalten.

Danke, so handhabe ich es im Moment. Fixieren des Layouts über graphviz und anschließendes Plotten der Kanten. Aber es wäre definitiv ein vorzeigbareres Ergebnis mit einer Software, die speziell für die Visualisierung von Grafiken entwickelt wurde.