如何在Markdown中用Mermaid画流程图

本文分享如何在Markdown中利用Mermaid语言创建流程图。内容包括Mermaid的基本语法,如设置方向、定义节点、创建子图、自定义样式,以及解决节点内换行等问题。参考多个资源链接,适合学习和进阶。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

只挑了自己感兴趣的功能写下来, 其他更多的需求可以参考这里.

正在学SAS, 所以想养成每条语句后面加 ;的习惯, mermaid语句里其实可以不用;结尾

以下两句没有试成功

graph LR;
   a --> b & c--> d;
  graph TB;
    A & B--> C & D;
  1. 整体布局

    第一行的graph LRgraph指定是一个图,第二个LR指定图的方向,所有的方向关键词为:

    • TB - top bottom
    • BT - bottom top
    • RL - right left
    • LR - left right
    • TD - same as TB
  2. 之后的A,B,C等都是节点的标识(标识中不能使用空格)

  3. 节点默认只显示标识,但也可以通过如下方法控制其显示

graph TD;
	A;
	B(B);
	C((C));
	D>D];
	E{E};
A
B
C
D
E
  1. 连线
graph LR;
    A[A] --> B[B]; 
    A1[A] --- B1[B]; 
    A4[A] -.- B4[B]; 
    A5[A] -.-> B5[B]; 
    A7[A] ==> B7[B]; 
    A2[A] -- 描述 --- B2[B];
    A3[A] -- 描述 --> B3[B];
    A6[A] -. 描述 .-> B6[B];
    A8[A] == 描述 ==> B8[B];
描述
A
B
A1
B1
A2
B2
A3
B3
A4
B4
A5
B5
  1. Subgraph
graph TB;
         subgraph one
         a1-->a2
         end;
         
         subgraph two
         b1-->b2
         end;
         
         subgraph three
         c1-->c2
         end;
         
         c1-->a2;
three
two
one
c1
c2
b1
b2
a1
a2
  1. 定制一个节点
graph LR;
    id1(Start)-->id2(Stop);
    style id1 fill:#f9f,stroke:#333,stroke-width:4px;
    style id2 fill:#bbf,stroke:#f66,stroke-;
    width:2px,color:#fff,stroke-dasharray: 5, 5;
Start
Stop
  1. Classes 自定义一个样式

    除了直接写code, 还有一个办法是定义一个class, 每次用的时候把它attach在某个节点上.

    • 定义:
      classDef className fill:#f9f,stroke:#333,stroke-width:4px;

    • 一般的使用:
      class nodeId1 className;

    • 快捷使用方式:

      nodeID1:::className –> nodeID2;

    • 使用在多个节点上:(Typora可以显示效果…)
      class nodeId1,nodeId2 className;

graph LR;
    A:::someclass --> B;
    classDef someclass fill:#f96;
A:::someclass
B
  1. 节点内换行问题:(Typora同样的code反而不显示)
graph TB;
A[长方形] --> |描述| B((圆));
A --> C(圆角长方形圆角长方形<br>圆角长方形圆角长方形<br>圆角长方形圆角长方形)
B --> D{菱形};
C --> D;
描述
长方形
圆角长方形圆角长方形
圆角长方形圆角长方形
圆角长方形圆角长方形
菱形

Reference:

https://blog.csdn.net/lz710117239/article/details/79133396

https://www.jianshu.com/p/b421cc723da5

https://mermaid-js.github.io/mermaid/#/flowchart

https://blog.csdn.net/weixin_40422121/article/details/102365784

https://github.com/mermaid-js/mermaid/issues/384

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值