My dot code when rendered by GraphViz leads to a few edges that connect to the left or right side of a node. I aim for having the arrows only connect to the top side of a node.
The issue in this example occurs for AA-022 and AA-023.
Is there a way to force graphviz to only draw edges from bottom to top so that the arrows connect to the top of the node?
Here is my code:
digraph {
splines=ortho
layout=dot
TBbalance="min"
node [shape="rect"]
"25083349-e2b0-4624-9171-b733eaef9c09" [label="AA-012"]
"8e449c92-3c1a-4cac-a41c-3778a6a6e3c8" [label="AA-013"]
"6101a33f-78b9-43cf-93ec-db8b1ef1acde" [label="AA-014"]
"530e551f-6aa5-4701-af61-111823233c79" [label="AA-015"]
"5b8c2f91-da0a-4722-b4f3-84ebaf201a33" [label="AA-016"]
"99657f0d-0d7f-487c-ba87-3ece9ae0a4dd" [label="AA-017"]
"44353eea-c41d-417a-8354-e0205baf5a11" [label="AA-020"]
"2fbe0364-41dd-4e0d-b8ef-cae381b0a79b" [label="AA-019"]
"c2f2bb75-815c-4afa-8e8e-7f1e6e388b7c" [label="AA-018"]
"6128a8fc-fceb-4b5d-abd4-b100355f357a" [label="AA-021"]
"1ed93bca-0dca-4f10-b9e5-5a17d8cd12b0" [label="AA-022"]
"b73bb88b-bcf8-4301-bdcc-497318f11ebd" [label="AA-023"]
"9aba5990-adc8-4796-a9e0-6e14e4afbd21" [label="AA-024"]
"8c504904-e97b-4227-a126-8bd603d0df1f" [label="AA-025"]
"25083349-e2b0-4624-9171-b733eaef9c09"->"99657f0d-0d7f-487c-ba87-3ece9ae0a4dd"
"25083349-e2b0-4624-9171-b733eaef9c09"->"44353eea-c41d-417a-8354-e0205baf5a11"
"25083349-e2b0-4624-9171-b733eaef9c09"->"c2f2bb75-815c-4afa-8e8e-7f1e6e388b7c"
"6101a33f-78b9-43cf-93ec-db8b1ef1acde"->"8e449c92-3c1a-4cac-a41c-3778a6a6e3c8"
"6101a33f-78b9-43cf-93ec-db8b1ef1acde"->"b73bb88b-bcf8-4301-bdcc-497318f11ebd"
"5b8c2f91-da0a-4722-b4f3-84ebaf201a33"->"8c504904-e97b-4227-a126-8bd603d0df1f"
"99657f0d-0d7f-487c-ba87-3ece9ae0a4dd"->"1ed93bca-0dca-4f10-b9e5-5a17d8cd12b0"
"99657f0d-0d7f-487c-ba87-3ece9ae0a4dd"->"9aba5990-adc8-4796-a9e0-6e14e4afbd21"
"44353eea-c41d-417a-8354-e0205baf5a11"->"6128a8fc-fceb-4b5d-abd4-b100355f357a"
"44353eea-c41d-417a-8354-e0205baf5a11"->"9aba5990-adc8-4796-a9e0-6e14e4afbd21"
"c2f2bb75-815c-4afa-8e8e-7f1e6e388b7c"->"530e551f-6aa5-4701-af61-111823233c79"
"c2f2bb75-815c-4afa-8e8e-7f1e6e388b7c"->"b73bb88b-bcf8-4301-bdcc-497318f11ebd"
"6128a8fc-fceb-4b5d-abd4-b100355f357a"->"b73bb88b-bcf8-4301-bdcc-497318f11ebd"
"1ed93bca-0dca-4f10-b9e5-5a17d8cd12b0"->"2fbe0364-41dd-4e0d-b8ef-cae381b0a79b"
"1ed93bca-0dca-4f10-b9e5-5a17d8cd12b0"->"b73bb88b-bcf8-4301-bdcc-497318f11ebd"
"8c504904-e97b-4227-a126-8bd603d0df1f"->"c2f2bb75-815c-4afa-8e8e-7f1e6e388b7c"
}
Yes, there is a way to to force "bottom-to-top" edges (ports - see section 3.1 of graphviz.org/pdf/dotguide.pdf), but unfortunately it does not work correctly when you set splines=ortho
Note that there are several issues about this problem and it was just discussed in the Graphviz Forum (https://forum.graphviz.org/t/regarding-graphvizs-orthogonal-edge-routing/1889)