Markdown mermaid种草(3)_ 流程图

Markdown mermaid种草(3)_ 流程图

1 流程图

​ 流程图经常用以描述业务流程,是产品经理和项目经理的最爱.

​ mermaid的流程图分为两种:graph和flowchart.

​ 这两者的使用方式大体是一致的. 所不同的是flowchart比graph应用了更多类型的箭头.

2 绘制语法及参数

2.1 绘图方向

举例:以graph或flowchart关键字为开始,后面跟上的是流图的绘制方向;

接下来写的是节点 连接线 节点

graph TD
	start ---> stop

在这里插入图片描述

编号绘图方向绘图代码备注
1从上到下TD TBTop-Down/Top-Bottom
2从左到右LRLeft-Right
3从右到左RLRight-Left
4从下到上BTBottom-Top

Tips: “从上到下”既可以是TD也可以是TB,但是“从下到上”只能是BT,真“变态”.

2.2 节点定义和形状

​ 从刚才那个例子里能够看出,节点的定义方法就是在graph/flowchart后面跟上“从节点到节点”的描述.此处节点可以按照上述的示例中,直接以变量的名称给出(此时图形上节点的内容将会和变量的名称保持一致):

节点1

在这里插入图片描述

​ 这种方式存在一个缺点,即节点如果被反复指向时,则需要反复书写变量的名称,因此也可以采用另一种方式:如下例所示:

id1[节点1]

在这里插入图片描述

​ 可以将长串的内容用方括号括起来,而用一个较短的变量名来指代节点.在下例中就能体现出这种节点定义方式的优点:

graph TD
	id1[名称非常非常长的节点1]
	id2[节点2]
	id3[节点3]
	id4[节点4]
	id5[节点5]
	id1 --> id2
	id1 --> id3
	id1 --> id4
	id1 --> id5

在这里插入图片描述

​ 节点的默认形状是直角矩形,mermaid提供了多种形状的节点:

graph LR
	id0[普通节点]
	id1{菱形节点}
	id2[/平行四边形节点/]
	id3[\反平行四边形节点\]
	id4[/正梯形节点\]
	id5[\反梯形节点/]
	id6((圆形节点))
	id7[(圆柱节点)]
	id8[[子流程节点]]
	id9>不对称节点]
	id10{{六边形节点}}

在这里插入图片描述

编号节点形状编码
1普通形状[]
2菱形{}
3正平行四边形[//]
4反平行四边形[\\]
5正梯形[/\]
6反梯形[/]
7圆形(())
8圆柱形[()]
9子流程(双线)[[]]
10不对称>]
11六边形{{}}

​ 节点中的文字如果有特殊字符,例如括号,这些特殊字符会导致代码在解释时发生歧义,此时只需要把文本内容用双引号括起来即可避免问题的发生:

graph TD
	id1["这是一个非常(特别)的文本"]

在这里插入图片描述

2.3 连接线及箭头

​ 接下来本小白带各位来学习一下连接线和箭头. 这里无非是线型、箭头型、粗细以及长度等等.

2.3.1 连接线类型

​ 连接线类型包括:实线、虚线、加粗线、无箭头线等.

graph LR
	id1 --> id2

在这里插入图片描述

graph LR
	id1 -.-> id2

在这里插入图片描述

graph LR
	id1 ==> id2

在这里插入图片描述

graph LR
	id1 --- id2
	id1 -.- id3
	id1 === id4

在这里插入图片描述

2.3.2 多种类型的箭头

​ 想使用多种类型的箭头,需要使用flowchart替换graph.

普通箭头

flowchart LR
	id1 --> id2

在这里插入图片描述

球形箭头

flowchart LR
	id1 --o id2

在这里插入图片描述

叉形箭头

flowchart LR
	id1 --x id2

在这里插入图片描述

双向箭头

flowchart LR
	id1 <--> id2
	id3 o--o id4
	id5 x--x id6

在这里插入图片描述

Tips: 双向箭头两边的箭头需要一致,目前测试mermaid还不支持混搭箭头.

2.3.3 连接线上的文字标注

​ 节点之间的连接线有时需要进行文字标注,对连接线进行文字标注有两种方式,一种是直接在连接线中间书写文字,另一种是以||将文字内容括住.

flowchart LR
	id1 --yes--> id2
	id2 -->|no|id3
	id3 -. yes .-> id4
	id4 -.->|no| id5
	id5 --yes--- id6
	id6 ---|no| id7
	id7 ==yes==> id8
	id8 ==>|no| id9

在这里插入图片描述

Tips: 注意如果是纯连接线,则右侧要增加一条短线,去替换原本属于箭头的标识.

2.3.4 改变连接线的长度

​ 以上讲述的部分,连接线的长度都是一致的,即最短长度,那么如果我们需要不同长度的时候,则只需要添加短划线的个数即可,若是虚线,则添加其中的点,若是粗线,则添加等于号:

flowchart LR
	id1 --> id2
	id1 ---> id3

在这里插入图片描述

flowchart LR
	id1 -.- id2
	id1 -..- id3

在这里插入图片描述

flowchart LR
	id1 ==> id2
	id1 ===> id3

在这里插入图片描述

再来一个综合一点的例子作为此处的小结:

graph LR
    A[Start] --> B{Is it?};
    B -->|Yes| C[OK];
    C --> D[(Rethink)];
    D --> B;
    B ---->|No| E[End];

在这里插入图片描述

2.3.5 多连接线

​ 还有一种高级的用法,本小白目前也还没有完全参透,可以用简洁的方式把节点间的多连接关系直接表示出来:

串行多连接

graph LR
   A -- text --> B -- text2 --> C

在这里插入图片描述

并行多连接

graph LR
	a --> b & c --> d

在这里插入图片描述

网络多连接

graph TB
    A & B--> C & D

在这里插入图片描述

2.4 子图及子图连接

​ 流程有时候需要切分成子模块,此时需要用到子图和子图连接的概念.

​ 子图的标准写法如下所示:

subgraph title
    graph definition
end
graph TB
    c1-->a2
    subgraph one
    a1-->a2
    end
    subgraph two
    b1-->b2
    end
    subgraph three
    c1-->c2
    end

在这里插入图片描述

​ 像节点一样,也可以使用id的方式给子图命名.

graph TB
    c1-->a2
    subgraph ide1 [one]
    a1-->a2
    end

在这里插入图片描述

flowchart TB
    c1-->a2
    subgraph one
    a1-->a2
    end
    subgraph two
    b1-->b2
    end
    subgraph three
    c1-->c2
    end
    one --> two
    three --> two
    two --> c2

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pqOMBnQG-1611826918094)(2_24.png)]

2.5 节点上的超链接

​ 流程图中的节点可以添加超链接,这是一个高级的功能,对于markdown编辑器来说,仅支持部分语法,而更高阶的功能,因为本小白没有html的技能,所以在html中内嵌使用超链接的功能就先略过了,感兴趣的童鞋可以去mermaid官方页面去学习.

graph LR;
    A-->B;
    B-->C;
    click A "http://www.github.com" _blank
    click B "http://www.github.com" "Open this in a new tab" _blank

在这里插入图片描述

2.6 节点样式编辑

​ 节点除了形状可以进行修改以外,还可以对节点的颜色、边框的颜色和线型进行修改.

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

在这里插入图片描述

​ 用一个style起头来引导对节点形状的设置语句.

​ 后面跟着的是节点的名称.

​ fill表示设置填充的颜色,#号后面引导16位RGB色阶标注,例如#f9f表明RGB通道是15,9,15.

​ stroke表示字体的设置,颜色标注方式和fill的表示方法一致.

​ stroke-width表示线框的粗细,px表示像素,color表示设置线框的颜色.

​ stroke-dasharray表示的是线框的虚线线型,用两个数来表示段落的划分数量.

在这里插入图片描述

  • 9
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值