Graphviz: break flat but sparsely connected graph into multiple rows? - graph

Howto break a flat but sparsely connected graphviz graph into multiple rows?
Graphviz yields a graph of about 4 ranks, but over 9000 nodes wide. However since the graph is sparsely connected we could break it in to rows, for example each 1000 nodes, and thus make it fit on nine rows one page. How can this be done?
Not looking for unflatten, but rather something like line breaks in a text editor (is it clear what I am looking for?).
Edit: PDF with example graph here

Like GraphViz Documentation, section 2.5: Node and Edge Placement, like Figure 9: Graph with constrained ranks?
http://www.graphviz.org/pdf/dotguide.pdf

Related

What is this type of graph called and how can it be plotted in R

A graph to indicate the percentage of elements from one node that are transferred to another node in two different stages. In principle, the number of nodes in one stage need not be equal to the number of nodes in the next stage. I would like to know the name of this type of graph and if it is possible to create it in R.
This is sankey diagram:
https://r-graph-gallery.com/sankey-diagram.html
You could find more info how to do it here:
https://plotly.com/r/sankey-diagram/

Which R packages are suitable for plotting disease transmission over time?

I am trying to find a way to plot a disease transmission tree that allows me to:
plot the tree over a timeline (a timeline spanning 2 months)
specify the shape and colour of the nodes in the tree (so that you can easily identify which nodes belong to the same household for example)
format the link between the nodes (dashed lines, two way arrows, solid lines...etc.)
plot "stray branches" that aren't linked to the root/parent node.
The dataset I am working with is relatively small (22 nodes) so I don't mind working with a package that is a bit fiddly!
I have thought about using phylogeny trees, but I'm uncertain whether they will allow me to plot stray nodes. Which package would be most suitable for this task?
Thanks!
Try DiagrammeR. I don't have much experience, but it did what I needed to do and I know I barely scratched the surface of what it can do.

Graphviz: How to include multiple graphs in the same graph?

In Jupyter notebook, I am writing code that deals with a graph. It involves a series of transformations on the given graph. I am using graphviz to render the graphs inline. I can only render one graph at a time.
How do I render more than one graph side by side so that I can see successive transformations of the graph?
I know that 'subgraph' can be used to cluster different components of the graph. But I can't use it because it draws connections between all those subgraphs.
But I can't use it because it draws connections between all those subgraphs.
Sounds like the problem is that you have nodes with the same names across different subgraphs.
GraphViz has no per-subgraph namespacing mechanism. Therefore, you will need to somehow make all node names unique, even across subgraphs. You could do this by, for example, prefixing every node name with an unique subgraph ID.
Note that node labels don't need to be the same as node names. For more information, see:
graphviz: subgraph has same node, how to unique

Large Dataset for a directed, labeled graph

i am looking for a big dataset for a labeled graph.
The graph should have the following characteristics:
labeled Nodes and Edges (In the best case, the graph contains several nodes/edges with the same label - no unique labels)
directed (hopefully - but may not necessarily needed)
I have already searched but found nothing matching with my problem. Only something like https://snap.stanford.edu/data/, but non of the graphs satisfy my desire.

visualization - size of circle proportionate to the value of the item

I'm getting familiar with Graphviz and wonder if it's doable to generate a diagram/graph like the one below (not sure what you call it). If not, does anyone know what's a good open source framework that does it? (pref, C++, Java or Python).
According to Many Eyes‌​, this is a bubble chart. They say:
It is especially useful for data sets with dozens to hundreds of values, or with values that differ by several orders of magnitude.
...
To see the exact value of a circle on the chart, move your mouse over it. If you are charting more than one dimension, use the menu to choose which dimension to show. If your data set has multiple numeric columns, you can choose which column to base the circle sizes on by using the menu at the bottom of the chart.
Thus, any presentation with a lot of bubbles in it (especially with many small bubbles) would have to be dynamic to respond to the mouse.
My usual practice with bubble charts is to show three or four variables (x, y and another variable through the size of the bubble, and perhaps another variable with the color or shading of the bubble). With animation, you can show development over time too - see GapMinder. FlowingData provides a good example with a tutorial on how to make static bubble charts in R.
In the example shown in the question, though, the bubbles appear to be located somewhat to have similar companies close together. Even then, the exact design criteria are unclear to me. For example, I'd have expected Volkswagen to be closer to General Motors than Pfizer is (if some measure of company similarity is used to place the bubbles), but that isn't so in this diagram.
You could use Graphviz to produce a static version of a bubble chart, but there would be quite a lot of work involved to do so. You would have to preprocess the data to calculate a similarity matrix, obtain edge weights from that matrix, assign colours and sizes to each bubble and then have the preprocessing script write the Graphviz file with all edges hidden and run the Graphviz file through neato to draw it.

Resources