I have a (currently in-progress) directed graph that I am creating with Dot. The attached image is what I have so far. As you can see, it is hard to read because it is difficult to tell what labels correspond to which edges. I expect the graph to grow much, much larger. I tweaked Dot's settings to increase nodesep and ranksep, and this helped, but I am curious if there are any other things I can do. Here is some info about the graph:
- I cannot remove many vertices. If size = convoluted and hard to read, so be it, but I want at least for edge labels to be clear on which edge they are labeling.
- The vertices can be broadly broken down into ten sections. (The vast majority of those in the graph so far are in section 1, with maybe 5 at most being in sections 2 or 3). Most edges will be between vertices of the same section, so subgraph divisions may help, but some edges will be between sections.
- I anticipate later sections may be smaller than the first section, but this is not guaranteed.
- Within a section, edges are arbitrary. They may connect from anything to anything else, you name it. There is no structure that may be relied upon (ie tree-like structure).
- I expect each section to have one or two "core" vertices with a very high connectivity. The core vertex of section 1 is "Adokoi". There may be utility in hand-selecting core vertices and instructing Dot to place these in a special way.
- At the moment, the only customizations/special instructions I have done are increasing nodesep and ranksep, and making the graph bottom to top. All other possible changes are on the table.
With this in mind, what options do I have for things like breaking into subgraphs, special instructions for which rank things go into, etc, in order to improve the readability and user friendliness of this graph?