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

Mermaid如何实现并排子节点并保留子图独立排列方向?

Mermaid实现该链式结构的方案

完全可以用Mermaid绘制出目标示意图,对应两个问题的解决方式如下:

包含两个并排相连子节点的复合节点实现

用subgraph包裹同属一个复合节点的两个子节点是正确思路,配合子图内direction LR设置即可定义内部水平排列逻辑。要避免布局被跨节点连线干扰,只需要给同组子节点添加隐形排列约束。

全局与子图独立排列方向失效的解决

Mermaid flowchart的布局逻辑中,跨子图的可见连线布局优先级默认高于子图内部的direction设置,会强制把子图节点拉去匹配全局方向。解决方法是给每个子图内的水平节点对添加无权重隐形连线~~~,这类连线不会渲染出可见线条,只会强制约束两个节点保持同层级水平排列,不会破坏全局TB(从上到下)的整体排布逻辑。

可直接运行的完整代码

flowchart TB
    %% 第一个复合节点
    subgraph node0 [ ]
        direction LR
        node00[data constructor]
        node01[pointer]
        node00 --adjacent--- node01
    end
    %% 隐形约束强制内部节点水平并排
    node00 ~~~ node01
    %% 隐藏子图默认外框,匹配参考图效果
    style node0 stroke-width:0px

    %% 第二个复合节点
    subgraph node1 [ ]
        direction LR
        node10[data]
        node11[pointer]
        node10 --adjacent--- node11
    end
    node10 ~~~ node11
    style node1 stroke-width:0px

    %% 跨复合节点的指向连线
    node01 --> node10

    %% 如需扩展更长的链式结构,按上述subgraph格式复制新增,再添加上一个节点的pointer到下一个节点data的连线即可

渲染后全局所有复合节点保持从上到下的垂直排列,每个复合节点内部的两个子节点保持水平并排相连,和参考图效果完全一致。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 20:54:19