Information Visualization
SS2007, VO 2.0 186.141
SS2007, UE 1.0 186.143
Thema:
TreePlus: Visualizing Graphs as Trees
Patrick Kastner, 0326772
Helmut Chlebecek, 0326789
TreePlus ist ein interaktives, auf ein baumartiges Lay-Out beruhendes Graph-Vergegenwärtigungssystem.
Übersicht
1.Exploration eines Graphen
Der TreePlus verfolgt die Bottom-Up Strategie. Zuerst wird ein spezieller Knoten als Wurzel, auch Seed gennannt, ausgewählt.
Weiters folgt eine Erweiterung um adjazente Knoten nach dem Motto "Plant a seed and watch it grow"
2.Verwendung eines Baum Layouts
Es werden stets Spannbäume dargestellt, die abhängig von den Aktionen des Benutzers dynamisch neu berechnet und erweitert werden.
Veränderungen werden animiert und dadurch nachvollziehbar.
Die Anforderungen an ein Baum Layout sind folgende:
• keine sich überschneidende Kanten
• übersichtliche Struktur, keine verdeckten Label
• effizient darstellbar
• Teilbäume zusammenfassbar, Abstraktion
• leichter verständlich für Einsteiger (laut Studie)
Wichtig ist, wie sich ein Graph in einen Baum überführen lässt, ohne relevante Informationen zu verlieren.
Erweiterungen der Baum Struktur
• Vorschau-Fenster zeigt alle Knoten, die zu dem gerade markierten Knoten im Baum adjazent sind
• Knoten, die sich bereits im Baum befinden, werden farblich (abhängig von der Richtung der Kante) hervorgehoben
• Balken unter jedem Knoten geben Anhaltspunkt über die Anzahl aus- und eingehender Kanten auf mehreren Ebenen
Die Vorteile eines TreePlus Baumes sind, dass er effizient implementierbar ist. Es können wichtige Details und Labels von Beginn
an eingeblendet werden. Außerdem sind lokale Strukturen schnell und übersichtlich erreichbar. Zudem eignet er sich bestens für
baumähnliche Graphen.
Die Nachteile halten sich im Gegensatz dazu in Grenzen. Zum einen ist das Layout nicht stabil, zum anderen ist die Hierarchie des
Baums nicht unbedingt auf Graphen übertragbar.
Umsetzung
Die Vorgabe aus dem Angabe-PDF haben wir wie folgt umgesetzt:
Gewählter Datensatz
Wir haben selbst Testdaten erstellt. Dazu gibt es ein Städteverzeichnis deutschland.txt und ein Städteverzeichnis Österreich.txt.
In diesen Testdaten-Files sind jeweils 28 Städte angeführt, und in einer Matrix eine Verbindung zwischen den einzelnen Städten.
Dieses Textfile lädt unser Programm und wandelt diese in eine Tree-Grafik um.
Implementierung
Programmiersprache: Java
Version: 1.5
Verwendete Packages: jgraph.jar und jgraphlayout.jar
Zuerst wird das oben erwähnte Textfile geladen indem alle relevanten Informationen wie Städte und Adjazenzmatrix enthalten sind.
Im Folgenden werden die Städtenamen in ein Drop-Down-Menü geladen, und die Matrix gespeichert. In diesem Drop-Down-Menü kann man
sich eine Stadt aussuchen, die als Root ausgewählt, ein BFS (breitesuche) wandelt den Graphen in einen Baum um und zeichnet diesen in
unseren GUI.
Es werden praktisch horizontal die Verbindungen zu den anderen Städten gezeichnet, wenn auch über Verbindungsstädte, über die man
nur zu den einzelnen Städten kommt.
In einer Erweiterung kann man auch noch eine Zoom in und Zoom out, eine Fit in Place, durch die der Graph immer optimiert an das Fester
Layout angezeigt wird und eine clear Funktion nutzen.
treeplus
Hier können sie sich unser Programm downloaden.
javadoc
Hier können sie sich die Javadoc unseres Programms downloaden.