Dear Graphviz Community,
I have been trying to convert a dot file into an .svg file for a graph with about 400 nodes.
dot in itself is taking a really long time, so I referred to this SO answer and used the command
sfdp -x -Goverlap=scale -Tsvg go_parser.dot > data.svg
However, I observed that I was not able to view the SVG created through this command. I would be extremely grateful if you could help me resolve this issue.
Thanks in advance
go_parser.dot (138.4 KB)
Please let me know if you need more details.
gc (https://graphviz.org/pdf/gc.1.pdf) says
402 3249 automata (go_parser.gv)
So, approximately 3249 edges, or 16 edges per node. That makes for a messy (edge-filled) graph.
And indeed trying all the engines (dot, fdp, neato, twopi, and circo) with these args added to the command line
-Gnslimit=2 -Gnslimit1=2 -Gmaxiter=5000 - though not with optimal attribute values - gave pretty useless graphs. (Circo never finished)
Here are some more hints - Dot command seems to never end - #6 by steveroush
There are some Gitlab issues tagged with the “performance” label that I periodically revisit and profile to see if we can improve anything internally. If you create a Gitlab issue with this graph, it will be included in future analyses like this.
Having said that, there will always be graphs that are simply too large/interconnected for Graphviz to handle well.
Sure, and at least limit the output canvas size, e.g. -Gsize=“10,10” or something so you don’t make an enormous SVG canvas that won’t load.