We use a short-hand json format to configure single node pragmas with a layout property observed by the graph to graphviz conversion.
{ "name": "Compact Layout", "layout": "osage", "url": "https://graphviz.org/docs/layouts/osage/" }
{ "name": "Hierarchical LR Layout", "layout": "dot; rankdir=LR", "url": "https://graphviz.org/docs/layouts/dot/" }
{ "name": "Hierarchical BT Layout", "layout": "dot; rankdir=BT", "url": "https://graphviz.org/docs/layouts/dot/" }
{ "name": "Spring Layout", "layout": "neato", "url": "https://graphviz.org/docs/layouts/neato/" }
{ "name": "Hierarchical Layout", "layout": "dot", "url": "https://graphviz.org/docs/layouts/dot/" }
{ "name": "Circular Layout", "layout": "circo", "url": "https://graphviz.org/docs/layouts/circo/" }
Paste json samples from above or invent your own.
http://hsc.fed.wiki/assets/scripts/import-foreign-json.html HEIGHT 240
Add code here to extract nodes and relations from _json_ and add them to _graph_. Remember node ids in _nids_.
graph.addNode('Graphviz',json)