android 集结号呆鸟的Python数据分析UML

如何在Markdown中画流程图

2018-08-27  本文已影响7717人  lkkwxy

如何在Markdown中画流程图呢?当然是用mermaid了,mermaid支持三种图形的绘制, 分别是流程图, 时序图和甘特图, 本篇文章只介绍了mermaid中流程图在markdown的使用(现在简书的markdown还不支持mermaid,我本地使用的是MWeb)。

如何在markdown中使用mermaid

1.png

流程图方向有下面几个值

示例

从上到下

mermaid
graph TD
   A --> B
效果: 22.png

从左到右

graph LR
   A --> B 
效果: 3.png

基本图形

示例
mermaid
graph TD
    id[带文本的矩形]
    id4(带文本的圆角矩形)
    id3>带文本的不对称的矩形]
    id1{带文本的菱形}
    id2((带文本的圆形))
效果: 4

节点之间的连接

示例
mermaid
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] 
效果: 6

子流程图

格式

subgraph title
    graph definition
end
示例
mermaid
graph TB
    c1-->a2
    subgraph one
    a1-->a2
    end
    subgraph two
    b1-->b2
    end
    subgraph three
    c1-->c2
    end
效果: 7

自定义样式

语法:style id 具体样式

示例
mermaid
graph LR
    id1(Start)-->id2(Stop)
    style id1 fill:#f9f,stroke:#333,stroke-width:4px,fill-opacity:0.5
    style id2 fill:#ccf,stroke:#f66,stroke-width:2px,stroke-dasharray: 10,5
效果: 9

demo

绘制一个流程图,找出 A、 B、 C 三个数中最大的一个数。

写法
mermaid
graph LR
    start[开始] --> input[输入A,B,C]
    input --> conditionA{A是否大于B}
    conditionA -- YES --> conditionC{A是否大于C}
    conditionA -- NO --> conditionB{B是否大于C}
    conditionC -- YES --> printA[输出A]
    conditionC -- NO --> printC[输出C]
    conditionB -- YES --> printB[输出B]
    conditionB -- NO --> printC[输出C]
    printA --> stop[结束]
    printC --> stop
    printB --> stop
效果: 99
上一篇 下一篇

猜你喜欢

热点阅读