Netzwerk Visualisierung
Problem
Bei der Darstellung eines Netzwerkes ist die eigentliche Frage wie man bei den vielen Punkten noch die Übersicht behalten will. So wurde beim Netzwerk Xing der Wunsch nach einer Visualisierung abgelehnt, weil: "Die meisten Teilnehmer haben wenige Kontakte, aber einige wenige haben sehr viele Kontakte. Sobald ein solcher Superknoten die Grafik betritt, wird die Darstellung sofort unübersichtlich und unnütz." (Quelle) Argumentiert wurde mit 230-240 Kontakten, der größte -mir bekannte- Knoten hat derzeit 14.360 "Bekanntschaften".
Hier ist die Idee die Elemente mit den wenigsten Verbindungen am Rand eines Kreises und die mit den meisten in der Kreismitte anzuordnen -auch platzmäßig- ein Lösung.
Jedoch wie ordnet man die Punkte am besten an, um eine gewisse Übersicht zu behalten?
Lösung
Ich habe die Verbindungen zwischen den Personen in eine MySQL-Datenbank geschrieben, dabei auch um "Superknoten" zu erhalten auch einige Gruppen, bei den ich Mitglied bin, aufgenommen. Danach habe ich durch die Personen sortiert und nach Anzahl der Kontakte in Kreisen sortiert.
Durch die Sortierung kann man die Einzelkontakte einer Person oder Gruppe in Kreissegmente anordnen, in den es keine Überschneidungen gibt. Durch eine weitere Optimierung sind dann tatsächlich kaum noch Überlappungen vorhanden.
Die Zeichnungen wurden durch gnuplot erstellt, die entsprechende Plotdateien hat ein PHP-Script erzeugt. In Zukunft werden diese Bilder jedoch direkt durch PHP erstellt, um einen Zwischenschritt zu ersparen.
Dies ist derzeit das größte Netzwerk (1307 Knoten und 3776 Verbindungen), das ich derzeit visualisiert habe (leider sind mir einige vorab gesammelte Zwischenergebnise verloren gegangen).
Die grünen Kästchen sind Markierungen von Gruppen, das rote Kästchen markiert meine Person (in der Zwischenzeit habe ich einige Kontakte mehr).
Fragen
Fragen und Kommentare und Anregungen werden wie immer gerne beantwortet und angenommen