Skip to content

Latest commit

 

History

History
51 lines (31 loc) · 1.83 KB

README.md

File metadata and controls

51 lines (31 loc) · 1.83 KB

ForceDirectedLayout

A simple C++ based force directed layout system for performing command line layouts of nodes and edges in both 2D and 3D. Supports JSON and GraphML supported input and output. Supports additional attributes and parameters in both JSON and GraphML.

Building

autoreconf --install && ./configure && make

Usage

Usage: fdl [OPTION]... --in=[INPUT-FILE] --out=[OUTPUT-FILE]

Options:
     --in-type=TYPE         Specifies the input file type, default JSON (JSON, GraphML).
     --out-type=TYPE        Specifies the output file type, default JSON (JSON, GraphML).
     --in=FILE              Specifies the input file.
     --out=FILE             Specifies the output file.
     --mode=MODE            Specifies the detangle mode, default 2D (2D, 3D).
     --help                 Displays this help message.

Quick Start

Read in JSON file, output to GraphML file.

./fdl --in-type=JSON --in=data/layout.json --out-type=GraphML --out=output.xml

Read in GraphML file, output JSON to stdout.

./fdl --in-type=GraphML --in=data/layout.xml --out-type=JSON

Output file will contain modified nodes with x,y,z values.

Data Formats

ForceDirectedLayout currently supports JSON and GraphML. Example data input files are available under the data directory.

  • Required node attributes are: id
  • Required edge attributes are: id, source and target
  • Any additional attributes get passed directly through to the output

Community

Keep track of development and community news.

License

ForceDirectedLayout is released under GPL, version 2.0