Layout Algorithmen

Das Layout ermöglicht es, verschiedene Bereiche eines Graphen (Gruppen) mit unterschiedlichen Layout-Typen anzuordnen. Außerdem bietet es ein automatisches Layout, das sichergestellt, dass der Graph sein Layout bzw. seine Ordnung auch nach Benutzer-Interaktionen beibehält. Die interface-basierte Architektur erlaubt die Integration neuer Layout-Algorithmen. Vorhandene Layout Algorithmen sind:

Kanten Layout

Der Kanten-Layout-Algorithmus arrangiert Verbindungen ohne Knoten zu bewegen. Die meisten anderen Layout-Algorithmen können Knoten und Kanten nur in einer Aktion positionieren. Der Kanten-Layout-Algorithmus ist ein bedeutender Teil einer jeden Anwendung, die Benutzerinteraktionen zur Laufzeit unterstützt.

Der entwickelte Kanten-Layout-Algorithmus ist ein extrem schneller Layout-Algorithmus. Er kann genutzt werden, um Kanten komplett neu zu führen oder auch nur um ein existierendes Layout von Kanten zu verbessern.

Eigenschaften:

  • Pfad-Analyse zur Vermeidung von überlappenden Kanten und Knoten
  • Automatische Positionierung von Beschriftungen zur Vermeidung des Überlappens von Beschriftungen mit anderen Beschriftungen oder Knoten
  • Brückenbildung zur besseren Wahrnehmung von Kreuzungspunkten
  • Verschieden Stile und Größen für die Brücken
  • Vertikale und horizontale Brücken
  • Rundungen für Biegungen mit anpassbarem Rundungsfaktor
  • Parallele Darstellung überlappender Kantensegmente
  • Einstellbarer Abstand zwischen Kantensegmenten und Minimum-Abstand zu Knoten.
  • Verschiedene Stile für parallele Kanten, die in den gleichen Port münden.


Hierarchisches Layout

Der Hierarchische Layout-Algorithmus verwendet einen Sugiyama Layout-Algorithmus, um einen Graphen so in unterschiedlichen Ebenen zu arrangieren (Reihen und Spalten eines imaginären 2D-Rasters), dass die meisten sichtbaren Kanten in die gleiche Richtung fließen und die Anzahl Ihrer Überschneidungen minimiert wird. Da das hierarchische Layout den Fluss und die Hierarchie eines Graphen besonders klar zeigt, wird es oft für die Ordnung in Fluss- und Prozessdiagrammen sowie Workflows eingesetzt.

Eigenschaften:

  • Verschiedene Layout Richtungen
  • Einstellbarer Abstand zwischen Knoten und Ebene
  • Verschiedene Ausrichtungen der Knoten auf gleicher Ebene
  • Anordnung der Knoten unter Beachtung der Verbindungspunkte oder der Knotenumrandung
  • Verschiedene Strategien zur Bestimmung der Ebenen
  • Bestimmung der maximalen Ebenen anzahl
  • Beachtung des notwendigen Platzes für die Beschriftungen von Kanten
  • Gerade und rechtwinklige Kanten
  • Priorisierung der Reihenfolge von Knoten in gleicher Ebene


Energie-Layout

Der Energie-Layout-Algorithmus nutzt einen kräfte-ausgleichenden Layout-Algorithmus für die Anordnung der Knoten im Graphen. Dieser Algorithmus betrachtet den Graphen als ein Kräftesystem und strebt eine möglichst energiearme Anordnung an. In diesem System werden die Knoten eines Graphen als elektrisch geladene Teilchen mit Abstoßungskräften und die Kanten als Federn mit Rückhaltefunktion betrachtet. Das Resultat des Energie-Layouts ist besonders natürlich und ideal für das Layout von Sozialen Netzen und für die Simulation von chemischen oder physikalischen Modellen. Es erzeugt ein harmonisches und ausbalanciertes Ergebnis, obwohl sich hier Kanten überschneiden können.

Eigenschaften:

  • Konfigurierbarer Knotenabstand
  • Variable Graph-Konzentration
  • Bestimmung der Qualität des Layout
  • Option: Maximale Berechnungszeit


Zirkuläres Layout

Der zirkuläre Layout-Algorithmus betont Gruppen- und Baum-Strukturen in einem Netzwerk. Er teilt alle Knoten in Gruppen ein, indem er die Verbindungsstrukturen wie in einem Netzwerk analysiert. Die festgestellten Gruppen werden in separaten Kreisen arrangiert. Die Kreise selber werden im Stil eines radialen Baum-Layouts angeordnet. Dieses Knoten-Layout kann z.B. für die Visualisierung von Sozial-, Telekommunikations- oder Computernetzwerken eingesetzt werden.

Eigenschaften:

  • Einstellbarer Abstand zwischen Koten eines Kreises
  • Konfigurierbarer Mindestradius für die Kreise
  • Einstellung für den Winkelbereich des Sektors um den Wurzelknoten
  • Unterschiedliche Verteilungsstrategien
  • Variabler Darstellungswinkel für den ganzen Graphen


Baum-Layout

Der Baum-Layout-Algorithmus ordnet Bäume – also gerichtete Graphen ohne Zyklen (Knoten dürfen nicht mehr als einen Vorläufer haben). Er bietet vier verschiedene Stile an: Flach, Strahlenförmig, Schleife, HV-Diagramm.

Eigenschaften:

  • Vier verschiedene Layout-Stile
  • Einstellbarer Knotenabstand, sowie Ebenenabstand oder Radius.


Organigramm-Layout

Der Organigramm-Layout-Algorithmus ist eine spezielle Art des Baum-Layout-Algorithmus. Er bietet einige spezielle Optionen, die oft für die Visualisierung von Organisations-Übersichten genutzt werden. Der Organigramm-Layout-Algorithmus unterstützt auch zusätzliche Verbindungen zwischen Knoten quer über den ganzen Graphen hinweg. In einem Graphen können verschieden Stile genutzt werden ohne ihn in Gruppen einzuteilen.

Eigenschaften:

  • Sechs verschiedene Layout-Stile
  • Bestimmung der Knotenreihenfolge
  • Stabs-Elemente
  • Einstellbare vertikale und horizontale Abstände
  • Automatische Kantenführung für Verbindungen quer über den Baum