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 Bearbeiten
Das Framework lässt sich im Groben in folgende Bereiche unterteilen[2]:
Allgemeine Datenstrukturen Bearbeiten
Datenstrukturen zur Speicherung von allgemeinen Datentypen. Diese umfassen unter anderem:
Graph-Datenstrukturen Bearbeiten
Klassen 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 Bearbeiten
Diverse 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 Bearbeiten
In Modulen sind wiederverwendbare Algorithmen ausgelagert, welche von den einzelnen Layoutalgorithmen verwendet werden.
Unterstützte Dateiformate für Graphen Bearbeiten
Als Schnittstelle zum Lesen und Schreiben von Graphen unterstützt OGDF unter anderem folgende Dateiformate[3]: