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

如何在Mermaid中绘制符合要求的隐马尔可夫模型(HMM)图?

隐马尔可夫模型(HMM)的Mermaid绘制方案及整洁省略号占位符实现

修正后的Mermaid代码(符合需求的样式)

graph LR
    %% 隐藏状态:填充圆圈样式
    X1(($$X_1$$)) --> X2(($$X_2$$))
    X2 --> dots["…"]
    dots --> Xn(($$X_n$$))

    %% 观测值:与对应隐藏状态关联,设置为空心圆以区分隐藏状态
    Y1(($$Y_1$$)) --- X1
    Y2(($$Y_2$$)) --- X2
    Yn(($$Y_n$$)) --- Xn

    %% 自定义观测值样式为空心圆
    style Y1 fill:none,stroke:black
    style Y2 fill:none,stroke:black
    style Yn fill:none,stroke:black

关键改动说明

  • 隐藏状态格式:保留(($$X_t$$))的填充圆圈样式,匹配需求中隐藏状态的视觉要求
  • 整洁省略号占位符:将原带圆圈的省略号节点((…))改为无框文本节点["…"],去掉多余图形边框,让序列占位更自然
  • 观测值区分:通过style指令将观测值设为空心圆,与填充的隐藏状态形成清晰视觉区分(若不需要区分,可删除style相关代码)
  • 关联关系:使用---保持观测值与对应隐藏状态的无箭头关联,符合HMM的结构逻辑

另一种紧凑的省略号实现方式

如果不需要单独的省略号节点,也可以直接在连线上标注省略号,代码更简洁:

graph LR
    X1(($$X_1$$)) --> X2(($$X_2$$))
    X2 -->|…| Xn(($$X_n$$))

    Y1(($$Y_1$$)) --- X1
    Y2(($$Y_2$$)) --- X2
    Yn(($$Y_n$$)) --- Xn

    style Y1 fill:none,stroke:black
    style Y2 fill:none,stroke:black
    style Yn fill:none,stroke:black

插入整洁省略号的核心要点

  • 避免将省略号放在带形状的节点(如((…))、(…))中,这类节点会给省略号添加不必要的边框或背景
  • 优先选择无框文本节点["…"]或连线标注|…|的方式,让省略号作为序列的自然占位符,保持整体示意图的简洁性

内容的提问来源于stack exchange,提问作者Erik De Luca

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 09:33:19