Mermaind学习笔记

一、流程图

1,节点

flowchart LR
    id
    id1[带文字节点]
    id2["Unicode文本"]
    markdown["`this ** is ** _Markdown_`"];
    id4[多行文本] -->
    newLines["`Line1
    Line2
    line3`"]
id
带文字节点
Unicode文本
`this ** is ** _Markdown_`
多行文本
`Line1
Line2
line3`

方向

这声明流程图是从上到下(或)定向的。TD

TB

flowchart TD
	开始 --> 停止
flowchart TB
	开始 --> 停止
flowchart TB
	开始 --> 停止
flowchart TD
	开始 --> 停止
flowchart TB
	开始 --> 停止
flowchart TB
	开始 --> 停止
这声明流程图的方向是从左到右 ()。LR
flowchart LR
	开始 --> 停止
开始
停止

可能的流程图方向是:

TB- 从上到下
TD- 自上而下/与上到下相同
BT- 从下到上
RL- 从右到左
LR- 从左到右

节点形状

圆边节点
flowchart LR
  id(圆边节点)
圆边节点
体育场形节点
flowchart LR
	id([体育场形节点])
体育场形节点
子例程形节点
flowchart LR
	id[[子例程形节点]]
子例程形节点
圆柱形节点
flowchart LR
	id[(数据库)]
数据库
圆形节点
flowchart LR
	id((圆形节点))
圆形节点
不对称形状节点
flowchart LR
	id1>不对称形状节点]
不对称形状节点
菱形节点
flowchart LR
	id{菱形节点}
菱形节点
六边形节点
flowchart LR
 id{{六边形节点}}
六边形节点
平行四边形节点
flowchart LR
	id[/平行四边形节点/]
	id2[\平行四边形节点\]
平行四边形节点
平行四边形节点
梯形节点Trapezoid
flowchart TD
	id[/梯形节点\]
	id2[\梯形节点/]
梯形节点
梯形节点
双圆节点 Double circle

markdown支持不好

flowchart TD
    id(((双圆节点)))

在这里插入图片描述

节点之间的连接

带箭头的连接
flowchart LR
	1 --> 2
1
2
直接连接 open link
flowchart LR
	a --- b
a
b
链接上的文字
flowchart LR
	a -- 链接上的文字 --- b
	c--- |链接上的文字|d
链接上的文字
链接上的文字
a
b
c
d
带有箭头和文本的链接
flowchart LR
	a --> |带有箭头和文本的链接|b
	c -- 带有箭头和文本的链接 -->d
带有箭头和文本的链接
带有箭头和文本的链接
a
b
c
d
虚线链接
flowchart LR
	a -.-> b
a
b

带文本的虚线链接

flowchart LR
	a -. 带文本的虚线链接 .-> b
带文本的虚线链接
a
b
粗链接Thick link
flowchart LR
	a ==> b
a
b
包含文本的粗链接
flowchart LR
	a == 包含文本的粗链接 ==> b
包含文本的粗链接
a
b
不可见链接

markdown不支持

flowchart LR
	a ~~~ b

在这里插入图片描述

链接链条 Chaining of links
可以在同一行中声明许多链接
flowchart LR
	a -- Chaining of links --> b -- Chaining of links --> c
Chaining of links
Chaining of links
a
b
c
也可以在同一行中声明多个节点链接
flowchart LR
	a --> b & c --> d
a
b
c
d
flowchart TB
	a & b --> c & d
a
b
c
d

如果使用基本语法描述相同的关系图,则需要四行。警告一下,这可能会使流程图更难以降价形式阅读。我想到了瑞典语这个词。这意味着,不要太多也不要太少。这也适用于表达语法.

flowchart TB
	a --> c
	a --> d
	b --> c
	b --> d
a
c
d
b
新箭头
flowchart LR
	a --o b
	b --x c
a
b
c
多方向箭头
flowchart LR
	a o--o b
	c <--> d
	e x--x f
a
b
c
d
e
f
链接的最小长度

流程图中的每个节点最终被分配给渲染图中的等级,即根据其链接到的节点分配给垂直或水平级别(取决于流程图方向)。默认情况下,链接可以跨越任意数量的排名,但您可以通过在链接定义中添加额外的短划线来要求任何链接比其他链接长。

在以下示例中,在从节点 B 到节点 E 的链接中添加了两个额外的短划线,以便它比常规链接跨越两个等级:

flowchart TD
	a[开始]  --> b{是?}
	b -->|yes| c[ok]
	c --> d[反思]
	d --> b
	b ---->|no| e[结束]
yes
no
开始
是?
ok
反思
结束

当链接标签写入链接中间时,必须在链接的右侧添加额外的破折号。以下示例等效于上一个示例:

flowchart TB
	a[开始] --> b{是?}
	b --> |yes| c[ok]
	c[反思] --> b
	b -- no ----> e[结束]
yes
no
开始
是?
反思
结束

对于虚线或粗链接,要添加的字符是等号或点,如下表所示:

在这里插入图片描述

flowchart LR
	a --- b
	c ---- d
	e ----- f
a
b
c
d
e
f
flowchart LR
	a --> b
	c ---> d
	e ----> f
a
b
c
d
e
f
flowchart LR
	a === b
	c ==== d
	e ===== f
a
b
c
d
e
f
flowchart LR
	a ==> b
	c ===> d
	e ====> f
a
b
c
d
e
f

破坏语法的特殊字符

可以将文本放在引号内,以便呈现更麻烦的字符

flowchart LR
 id["几号(text)"]
几号(text)

用于转义字符的实体代码

flowchart LR
	id["a: #quot;"] --> b["一个十进制数字:#9829"]
a: "
一个十进制数字:#9829

子图 Subgraphs

flowchart TB
	c1 --> a2
	subgraph 1
	a1 --> a2
	end
	subgraph 2
	b1 --> b2
	end
	subgraph 3
	c1 --> c2
	end
1
3
2
b2
b1
c2
c1
a2
a1

您还可以为子图设置显式 ID。

flowchart TB
	c1 --> a2
	subgraph id[1]
	a1 --> a2
	end
1
a2
a1
c1

流程图

使用graphtype流程图,还可以设置子图的边

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
three
one
c2
c1
two
b2
b1
a2
a1

子图中的方向

使用 graphtype 流程图,您可以使用方向语句来设置子图将呈现的方向

flowchart LR
	subgraph Top
		direction LR
		subgraph B1
			direction RL
			i1 --> f1
		end
		subgraph B2
			direction BT
			i2 --> f2
		end
	end
	A --> Top --> B
Top
B1
f1
i1
B2
f2
i2
A
B

Markdown 字符串

“Markdown 字符串”功能通过提供更通用的字符串类型来增强流程图和思维导图,该字符串类型支持粗体和斜体等文本格式选项,并自动将文本换行在标签内。

flowchart LR
subgraph "One"
	a("`The **cat**
	in the hat`") -- "edge label" --> b{{"`The **dog** in the hog·`"}}
end
subgraph "`**Two**`"
	c("`The **cat**
	in the hat`") -- "`Bold **edge label`" --> d("The dog int the hog")
end
`**Two**`
`Bold **edge label`
The dog int the hog
`The **cat**
in the hat`
One
edge label
`The **dog** in the hog·`
`The **cat**
in the hat`

格式:

对于粗体文本,请在文本前后使用双星号 ()。**
对于斜体,请在文本前后使用单星号 ()。*
对于传统字符串,您需要为文本添加标签以换行节点。但是,markdown 字符串会在文本变得太长时自动换行,并允许您通过简单地使用换行符而不是标签来开始新行。<br><br>
此功能适用于节点标签、边缘标签和子图标签。

交互 Interaction

可以将单击事件绑定到节点,单击可能导致 javascript 回调或将在新的浏览器选项卡中打开的链接。
click nodeId callback
click nodeId call callback()

nodeId 是节点的 ID
回调是在显示图形的页面上定义的JavaScript函数的名称,该函数将以nodeId作为参数进行调用。

flowchart LR
	a --> b
	b --> c
	click a "https://www.github.com"
	click b href "https: //www.baidu.com"
a
b
c

注释

flowchart LR
%%这是注释%%
	a --> b
a
b

设置节点样式

flowchart LR
	id(start) --> b(stop)
	style id fill: #f9f,stroke:#333,stroke-width:40x
	style b fill:#bbf,stroke:#f66,stroke-width:2px,color:#fff,stroke-dasharray: 5 5
start
stop

对fontawesome的基本支持

可以从字体添加图标。

这些图标可通过语法 fa:#icon类名#访问。

在markdown中不支持

flowchart TD
    B["fab:fa-twitter for peace"]
    B-->C[fa:fa-ban forbidden]
    B-->D(fa:fa-spinner)
    B-->E(A fa:fa-camera-retro perhaps?)
for peace
forbidden
A perhaps?

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值