A radial Graphviz engine (pre-processor)

RadialLayout a gvpr pre-processor that feeds neato -n
new node attributes:

  • radialangle - angle from the origin line units: radians, degrees, or “fraction” (3/17) (divide 360 into 17 slices, and position at 3rd). By default, angles are in counter-clockwise direction.
  • radialdistance distance from 0,0 in direction/angle specified by radialangle units: inches or points (ni or pt. No unit defaults to inches)

new graph attributes:

  • radialclockwise used to request clockwise angle measurements. Values: true or false, false is default
  • radialstart set origin line, where default origin line is a line heading from the center of the graph off to the right or (a line from 0,0 toward 999999,0) or (a line going due East). Legal values: (clock values) 1oc, 2oc, …,12oc and (compass points) n, s, e, w, ne, ne, se, sw

Of note:

  • All nodes must have radialangle & radialdistance values
  • clusters do not (easily) work - a neato issue
  • difficult to set label=“” - a gvpr issue
  • Only lightly tested!!

Output examples:





6 Likes

For completeness, the program can be found here: Graphviz Radial Layout Engine (shell archive) · GitHub

Slowly working on adding to Graphviz directly

1 Like

radialEngine now supports multiple centers, via a new CenterOn attribute. It can still be found [here].(radialLayout.gvpr - a multi-centric radial layout engine for Graphviz · GitHub)

2 Likes