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

如何使用DiagrammeR在R中复现指定的Mermaid序列图?

如何使用DiagrammeR在R中复现指定的Mermaid序列图?

我懂你碰到的这个问题!在mermaid.live里好好的序列图,放到DiagrammeR里就不是预期的样子,对吧?这其实是版本兼容的问题——DiagrammeR自带的Mermaid版本比较老,不支持你用的->>+和-->>-这种简化的激活/销毁参与者的语法,而mermaid.live用的是最新版Mermaid,自然能识别这种新写法。

下面给你两个可行的解决办法:

方法一:用DiagrammeR兼容的旧版语法

把箭头里的加减号替换成显式的activate和deactivate指令,就能在DiagrammeR里复现和预期一致的效果了。修改后的代码如下:

library(DiagrammeR)
mermaid("sequenceDiagram
Alice->>John: Hello John, how are you?
activate John  # 对应原语法里的->>+,激活John这个参与者
Alice->>John: John, can you hear me?
John-->>Alice: Hi Alice, I can hear you!
John-->>Alice: I feel great!
deactivate John  # 对应原语法里的-->>-,结束John的激活状态")

运行这段代码后,你就能看到和mermaid.live里类似的序列图,参与者的激活状态会被正确展示出来。

方法二:使用支持新版Mermaid的工具(可选)

如果你特别想用->>+/-->>-这种简化语法,可以考虑用其他能调用最新版Mermaid的R工具,比如借助htmltools引入最新的Mermaid JS库来渲染图表。不过这种方式相对繁琐,如果你只是为了复现这个序列图,方法一已经足够简单好用。

备注:内容来源于stack exchange,提问作者bird

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.21 08:49:50