如何让Graphviz箭头仅连接到节点的顶部
强制Graphviz箭头仅连接节点顶部的方法
要让所有箭头都连接到目标节点的顶部,可通过给边添加headport=n属性(n代表north,即顶部)实现。若希望边从源节点底部出发、保持垂直方向,还可配合tailport=s属性(s代表south,即底部)。
修改后的完整代码
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"] // 为所有边添加port属性,强制箭头指向目标节点顶部,从源节点底部出发 "25083349-e2b0-4624-9171-b733eaef9c09"->"99657f0d-0d7f-487c-ba87-3ece9ae0a4dd" [headport=n, tailport=s] "25083349-e2b0-4624-9171-b733eaef9c09"->"44353eea-c41d-417a-8354-e0205baf5a11" [headport=n, tailport=s] "25083349-e2b0-4624-9171-b733eaef9c09"->"c2f2bb75-815c-4afa-8e8e-7f1e6e388b7c" [headport=n, tailport=s] "6101a33f-78b9-43cf-93ec-db8b1ef1acde"->"8e449c92-3c1a-4cac-a41c-3778a6a6e3c8" [headport=n, tailport=s] "6101a33f-78b9-43cf-93ec-db8b1ef1acde"->"b73bb88b-bcf8-4301-bdcc-497318f11ebd" [headport=n, tailport=s] "5b8c2f91-da0a-4722-b4f3-84ebaf201a33"->"8c504904-e97b-4227-a126-8bd603d0df1f" [headport=n, tailport=s] "99657f0d-0d7f-487c-ba87-3ece9ae0a4dd"->"1ed93bca-0dca-4f10-b9e5-5a17d8cd12b0" [headport=n, tailport=s] "99657f0d-0d7f-487c-ba87-3ece9ae0a4dd"->"9aba5990-adc8-4796-a9e0-6e14e4afbd21" [headport=n, tailport=s] "44353eea-c41d-417a-8354-e0205baf5a11"->"6128a8fc-fceb-4b5d-abd4-b100355f357a" [headport=n, tailport=s] "44353eea-c41d-417a-8354-e0205baf5a11"->"9aba5990-adc8-4796-a9e0-6e14e4afbd21" [headport=n, tailport=s] "c2f2bb75-815c-4afa-8e8e-7f1e6e388b7c"->"530e551f-6aa5-4701-af61-111823233c79" [headport=n, tailport=s] "c2f2bb75-815c-4afa-8e8e-7f1e6e388b7c"->"b73bb88b-bcf8-4301-bdcc-497318f11ebd" [headport=n, tailport=s] "6128a8fc-fceb-4b5d-abd4-b100355f357a"->"b73bb88b-bcf8-4301-bdcc-497318f11ebd" [headport=n, tailport=s] "1ed93bca-0dca-4f10-b9e5-5a17d8cd12b0"->"2fbe0364-41dd-4e0d-b8ef-cae381b0a79b" [headport=n, tailport=s] "1ed93bca-0dca-4f10-b9e5-5a17d8cd12b0"->"b73bb88b-bcf8-4301-bdcc-497318f11ebd" [headport=n, tailport=s] "8c504904-e97b-4227-a126-8bd603d0df1f"->"c2f2bb75-815c-4afa-8e8e-7f1e6e388b7c" [headport=n, tailport=s] }
关键说明
headport=n:强制箭头指向目标节点的顶部(north方向)tailport=s:强制边从源节点的底部(south方向)出发,保证边的垂直走向- 若仅需调整特定节点的边,可只给对应边添加属性,无需全局设置
内容的提问来源于stack exchange,提问作者norman
相关产品推荐
相关产品推荐

