Open Graph Drawing Framework
Das Open Graph Drawing Framework (OGDF) ist eine umfangreiche C++-Klassenbibliothek zur automatisierten Visualisierung von Graphen. Neben vielen Layout-Algorithmen bietet es ebenfalls eigene Datenstrukturen für Graphen unterschiedlicher Art sowie Schnittstellen zum Lesen und Schreiben einiger bekannter Datenformate zur Repräsentation von Graphen.
OGDF | |
---|---|
Basisdaten
| |
Entwickler | Lehrstühle unterschiedlicher Universitäten Deutschlands[1] |
Aktuelle Version | v.2020.02 (Catalpa) (9. Februar 2020) |
Betriebssystem | Linux, macOS, Windows |
Programmiersprache | C++ |
Lizenz | GNU General Public License Version 2 und 3 |
deutschsprachig | nein |
ogdf.net |
Bestandteile
BearbeitenDas Framework lässt sich im Groben in folgende Bereiche unterteilen[2]:
Allgemeine Datenstrukturen
BearbeitenDatenstrukturen zur Speicherung von allgemeinen Datentypen. Diese umfassen unter anderem:
Graph-Datenstrukturen
BearbeitenKlassen zur Speicherung unterschiedlicher Arten von Graphen, ihren Knoten und Kanten und weiteren Helferklassen. Mit den Graphklassen können dargestellt werden:
- Allgemeiner Graph (gerichtet oder ungerichtet), Attribute zu einem Graph (Beschriftungen, Knoten-Koordinaten, weitere grafische Attribute, …)
- Kombinatorische Einbettung eines planaren Graphs
- Dualgraph zu einer kombinatorischen Einbettung
- Graphreduktion, Graph-Clusterisierung
- Hypergraph
Layout-Algorithmen
BearbeitenDiverse Algorithmen zur Visualisierung (Layoutgenerierung) von Graphen. Diese umfassen:
- Orthogonale und geradlinige Layouts
- Multilevel-Layouts (z. B. FM³)
- Kräftebasierte Layouts (z. B. Spring Embedder, GEM, Simulated Annealing)
- Aufwärts-Layouts (z. B. Sugiyama)
- Planare Layouts
- Baumlayouts
Module
BearbeitenIn Modulen sind wiederverwendbare Algorithmen ausgelagert, welche von den einzelnen Layoutalgorithmen verwendet werden.
Unterstützte Dateiformate für Graphen
BearbeitenAls Schnittstelle zum Lesen und Schreiben von Graphen unterstützt OGDF unter anderem folgende Dateiformate[3]: