digraph { compound = true node [shape = "box", style = "filled, rounded"] subgraph cluster_script { label = "scripts" node [color = lightskyblue] script_version_b[label = "nature-v2"] } subgraph cluster_data { label = "data repository (not git!)" node [color = limegreen] data_version_a[label = "doi:blah/blah"] } subgraph cluster_paper { label = "paper" node [color = limegreen] paper_version_c[label = "nature-final"] } paper_version_c -> data_version_a [label = "\n\n", lhead = cluster_data] data_version_a -> script_version_b [label = "\n\n", lhead = cluster_script] }