Graph Drawing

Werbung
Visualisierung semantischer Information
– Gliederung –
Graph Drawing
– Visualisierung –
Graphen
Einführung in Graphenvisualisierung
Christoph Stollwerk
Graphentypen
Zeit: Mi. 12‚00 - 15‚30
Raum: PC72
Praktischer Umgang mit Graphen
Ein praktisches Beispiel DBdraw
Visualisierung semantischer
Information
Graph Drawing
1
2
Visualisierung semantischer Information
Visualisierung semantischer Information
– Graphen–
Graphen–
2 Graphen…
Graphen…
Graphen
– Einfü
Einführung –
... gleichen Inhalts
Graph Drawing
Graph Drawing
Graph drawing is the art to draw a graph in such a way, that the
relationships between the objects are easily understood by looking at the
picture. The nodes are usually drawn as circles or rectangles while the
edges are drawn as curves connecting two of these shapes.
A graph is a mathematical structure that is widely used to describe the
relationships between different objects. The objects are called the nodes
of the graph and the relationships are called edges. Every edge
connects two nodes. One example for a structure that can be described
as a graph are relationships between people. Suppose there is a group of
people, some of which know each other; this can be expressed this using
a graph in which the nodes are the people and there is an edge
connecting two people if they know each other.
3
4
Visualisierung semantischer Information
Visualisierung semantischer Information
– Graphen–
Graphen–
Graphen
– Typen –
Graph Drawing
Graph Drawing
Problematiken andeuten: Studien haben gezeigt, dass wenig Kreuzungen
sehr gut sind, gefolgt von wenig Knicken, Kurzen Kanten, Vermeidung
von Spitzen Winkeln
Graph drawing is the art to draw a graph in such a way, that the
relationships between the objects are easily understood by looking at the
picture. The nodes are usually drawn as circles or rectangles while the
edges are drawn as curves connecting two of these shapes.
Viele Programme haben eine Graphen funktion und somit einen
algorithmus zur graphenzeichnung.
Oft sind diese algorithmen bei großen datenmengen uneffektiv und das
ergebnis nicht ausreichen/überschaubar
5
6
Visualisierung semantischer Information
Ungerichteter
Graph
Visualisierung semantischer Information
– Graphen–
Graphen–
– Graphen–
Graphen–
Typen im 2 dimensionalen
Compound Graphs
Clustered
Graph
Gerichteter
Graph
1
a
3
2
b
5
c
Compound
Graph
Baum
Graph
1
2
7
3
6
8
9
4
5
7
9
+
4
6
8
1
3
5
1
=
2
5
3
Graph Drawing
6
4
2
9
4
8
7
Graph Drawing
-ungerichtete graphen unterscheiden gerichtete nur von den Pfeilen
-es gibt zyklische und azyklische graphen
-clustered graphs besteht meist aus ungerichtetem Graph , der durch
wurzelbaum definiert wird ; rückläufige strukturen von knoten( vertices)
7
8
Visualisierung semantischer Information
Visualisierung semantischer Information
– Graphen –
Beschreibung von (un-) gerichteten Graphen
Graphen
Adjazenzmatrizen
– Praktischer Umgang –
Graph Drawing
Graph Drawing
Graph drawing is the art to draw a graph in such a way, that the
relationships between the objects are easily understood by looking at the
picture. The nodes are usually drawn as circles or rectangles while the
edges are drawn as curves connecting two of these shapes.
Auch nachbarschaftliste oder matriz genannt.
9
10
Visualisierung semantischer Information
Visualisierung semantischer Information
– Graphen –
– Graphen –
Planare Graphen
Planarity von Clustered Graphs
Kanten dürfen sich nicht schneiden
planer
(planarity.net)
Method for Visualizing Complicated Structures Based on Unified
Simplification Strategy
maximal planar
Graph Drawing
Graph Drawing
-
Method for Visualizing Complicated Structures Based on Unified
Simplification Strategy
Eine Methode zur Visualisierung komplexer Strukturen basierend auf
einheitlicher Vereinfachungsstrategy
11
12
Visualisierung semantischer Information
Visualisierung semantischer Information
– Graphen –
– Graphen –
Preorder
Layered Styles
Zeichnen von Baumstrukturen
1. PreOrder
2. InOrder
3. PostOrder
auch als Traversierung bekannt.
Graph Drawing
Graph Drawing
- einfachste Möglichkeit
'''Funktion''' ''Preorder''(Baum)
- andere sind bspw. Rheingold & Tilford oder Sugiyama-style Layout
W '''<-''' Baum.Wurzel
'''//'''''W:= Wurzel des übergebenen Baumes''
'''If''' Baum.Links '''<>''' '''NULL'''
linker Unterbaum?''
'''//'''''Existiert ein
L '''<-''' ''Preorder''(Baum.Links)
''dann: L:= Preorder von linkem Unterbaum''
'''//'''
'''If''' Baum.Rechts '''<>''' '''NULL'''
'''//'''''Existiert ein rechter Unterbaum?''
R '''<-''' ''Preorder''(Baum.Rechts)
''dann: R:= Preorder von rechtem Unterbaum''
'''//'''
'''Return''' W°L°R
'''//'''''Rückgabe: Verkettung aus W, L und R''
13
14
Visualisierung semantischer Information
Visualisierung semantischer Information
– Graphen –
– Graphen –
Inorder
Postorder
Graph Drawing
Graph Drawing
'''Funktion''' ''Inorder''(Baum)
'''Funktion''' ''Postorder''(Baum)
W '''<-''' Baum.Wurzel
'''//'''''W:= Wurzel des übergebenen Baumes''
'''If''' Baum.Links '''<>''' '''NULL'''
linker Unterbaum?''
'''//'''''Existiert ein
L '''<-''' ''Inorder''(Baum.Links)
''dann: L:= Inorder von linkem Unterbaum''
'''If''' Baum.Rechts '''<>''' '''NULL'''
rechter Unterbaum?''
W '''<-''' Baum.Wurzel
'''//'''''W:= Wurzel des übergebenen Baumes''
'''If''' Baum.Links '''<>''' '''NULL'''
linker Unterbaum?''
'''//'''
L '''<-''' ''Postorder''(Baum.Links)
''dann: L:= Postorder von linkem Unterbaum''
'''//'''''Existiert ein
R '''<-''' ''Inorder''(Baum.Rechts)
''dann: R:= Inorder von rechtem Unterbaum''
'''//'''''Existiert ein
'''//'''
'''If''' Baum.Rechts '''<>''' '''NULL'''
'''//'''''Existiert ein rechter Unterbaum?''
R '''<-''' ''Postorder''(Baum.Rechts)
''dann: R:= Postorder von rechtem Unterbaum''
'''//'''
'''//'''
'''Return''' L°R°W
'''//'''''Rückgabe: Verkettung aus L, R und W''
'''Return''' L°W°R
15
16
Visualisierung semantischer Information
Visualisierung semantischer Information
– Graphen –
– Graphen –
In Kü
Kürze:
Vertrag
Person
Produktbestand
In Kü
Kürze:
Produktvorgang
Provisionssatz
Konditionbestand
Vertragsinhaber /
Vertrag
Vertreter /Vorgang
Provisionssatz/
Produktvorgang
Vermittler /Vorgang
Struktur
Normalvertrag
Vertragsinshaber
Bausparvertrag
Vermittler
Preis
ZKVertrag
Konto
KLVertrag
Einlagenvertrag
Buchung
Vorgang
Immobilienvermittl.
UnbekVertrag
Darlehensvertrag
Vertreter
RLVertrag
Datenmodell
Kräfteverfahren
Graph Drawing
Graph Drawing
Dem Betrachter soll durch ein Diagramm Übersciht verschafft werden.
teilweise unnötige kreuzungen, nicht datenbank geeignet
Kanten und Knoten werden dann meist mit solange herumgeschoben bis
zufriedenstellendes Ergebnis in entsprechender Zeit.
herausforderung bei mehreren Hundert Knoten.
17
18
Visualisierung semantischer Information
Visualisierung semantischer Information
– Graphen –
– Graphen –
In Kü
Kürze:
In Kü
Kürze:
Hierarchisches Verfahren
Planarisierungsverfahren
Graph Drawing
Graph Drawing
Nur noch 4 Kreuzungen , alle Pfeile von oben nach unten
Ist die Hierarchie unwichtig und minimierung von Kreuzungen wichtig wird
planasiert, zum Teil mit quasi-orthogonalem Stil.
Keine Kreuzungen mehr .
19
20
Visualisierung semantischer Information
Visualisierung semantischer Information
– Graphen –
Planarisierung:
1
2
DBdraw
3
4
Planarisierungsverfahren
Graph Drawing
Graph Drawing
Grundidee = 3 Phasen ( Topologie – Form – Metrik )
Giuseppe Di Battista ; Walter Didimo ; Maurizio Patrignani ; Maurizio
Pizzonia ( Uni Rom)
1. Entfernen der Markierten Kante
Möglichst kleine Menge von Kanten entfernen ; planar
machen ( heisst auf einer bekreuzungsfrei Zeichenbar)
-Ermöglicht automatisches Layouten von Datenbank-Schemata.
2. Planare Layout Skizze
-Relationen sind Boxen, tabellen attribute sind unterschiedliche Streifen
3. Wiedereinfügung der entfernten Kante mit Hilfsknoten
Topologie der Zeichnung wird klar
-Attribute unterschiedliche Tabellen die verbunden sind
Referenzbedingungen
4. Form wird durch orthogonalstil festgelegt
Anzahl der Kantenknicke wird minimiert/ Längen werden
vereinbart / Künstliche Knoten wird entfernt
-Ist inspiriert von topology –shape-metrics und wird über planarization
angegangen
5. fertig!
21
22
Visualisierung semantischer Information
Visualisierung semantischer Information
Relationen
= Knoten
Verbindungen = Kanten
1. Constrained Planarization
2. Left-to-Right Orientation
3. Orthogonalization
4. Compaction
Graph Drawing
Graph Drawing
1) gezwungene Plättung
alle Tabellen werden Vertexe & Verbindungen zu Kanten
2) Kanten werden unterschieden in (Links zu Rechts-Kanten & U-Turns)
umso mehr U-Turns umso weiter nach rechts
3) Orthogonalisierung
Alle Kanten werden durch Vorlagen ersetzt und verbunden
4) exakte Kantenlänge wird bestimmt und nach Möglichkeit gekürzt
Kanten überschneiden sich nicht wegen Schritt 1
23
24
Visualisierung semantischer Information
?
Visualisierung semantischer Information
?
Fragen?!
?
?
Herzlichen
Dank!
?
Graph Drawing
Graph Drawing
25
26
Herunterladen