Open Graph Drawing Framework
OGDF | |
---|---|
Basic data
|
|
developer | Chairs at different universities in Germany |
Current version | v.2015.05 (Baobab) (May 31, 2015) |
operating system | Linux , macOS , Windows |
programming language | C ++ |
License | GNU General Public License Version 2 and 3 |
German speaking | No |
ogdf.net |
The Open Graph Drawing Framework (OGDF) is a comprehensive C ++ - class library for automated visualization of graphs . In addition to many Layout - algorithms , it also offers its own data structures for graphs of various types and interfaces for reading and writing some known data formats for representing graphs.
Components
The framework can be roughly divided into the following areas:
General data structures
Data structures for storing general data types. These include, among others:
Graph data structures
Classes for storing different types of graphs, their nodes and edges and other helper classes. The graph classes can be used to display:
- General graph (directional or undirected), attributes for a graph (labels, node coordinates, other graphic attributes, ...)
- Combinatorial embedding of a planar graph
- Dual graph for a combinatorial embedding
- Graph reduction, graph clustering
- Hypergraph
Layout algorithms
Various algorithms for the visualization (layout generation) of graphs. These include:
- Orthogonal and linear layouts
- Multilevel layouts (e.g. FM³)
- Force-based layouts (e.g. Spring Embedder, GEM, Simulated Annealing )
- Upward layouts (e.g. Sugiyama)
- Planar layouts
- Tree layouts
Modules
Reusable algorithms, which are used by the individual layout algorithms, are stored in modules.
Supported file formats for graphs
As an interface for reading and writing graphs, OGDF supports the following file formats, among others:
- DOT
- GEXF (Graph Exchange XML Format) from Gephi
- Graph Modeling Language (GML)
- GraphML
- LEDA 's native format for graphs
- Rudy
- TLP from Tulip
- YGF, the Y graph format