You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Graphviz中调整边方向实现环形状态图展示效果

解决方案

你只需要修改I->A这条边的属性即可,通过指定边的出入端口、关闭排名约束,就能让边从底部绕行,不会穿过图中间区域。
修改后的完整代码如下:

digraph finite_state_machine {
    rankdir=TB;
    node [shape = none]; Start;
    node [shape = circle];
    nodesep=.5;
    Start -> A;
    
    A->B
    B->C
    C->D
    D->E
    E->F
    F->G
    G->H
    H->I
    I->A [tailport=s, headport=s, constraint=false]

    {rank = same; A B C D}
    {rank = same; E}
    {rank = same; F G H I}
}

参数说明

  • tailport=s:指定边从起点I的底部(south方位)引出
  • headport=s:指定边从终点A的底部(south方位)接入
  • constraint=false:关闭这条边对节点排名的约束,避免打乱已经设置好的上下层节点排布

内容的提问来源于stack exchange,提问作者PepitoGrillo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 15:24:10