有时候会使用typora来绘制一些流程图,进行编码之类的工作,在网络搜集了一些笔记,做个记录,方便日后进行复习,相关的记录如下:
每次作图时,代码以「graph <布局方向>」开头,如:
graph TB
A(开始)
B[打开冰箱门]
C{"冰箱小不小?"}
D((连接))
TB(Top Bottom)表示从上向下布局,另外三种是
BT
LR(Left Right)
RL
不同种类的括号对应不同的节点图形
括号中的文字就是显示在节点中的描述
A B C D 这些字符是为节点取的名字,这个名字可以在之后反复利用(在编程里这相当于定义变量)
线段用于连接节点,一同来看一下:
graph TB
A[把大象放进去] --> B{"冰箱小不小?"}
B -->|不小| C[把冰箱门关上]
B -->|小| D[换个大冰箱]
上述 -->是带箭头线段,–>|不小| 是加了描述文字的带箭头线段。它们都位于两个节点之间。
上一个代码示例中,B{“冰箱小不小?”} 这里的描述文字加了引号,是因为其中包含特殊字符(问号),用引号包裹防止出错为节点取名为 A B C 不太合适,如果节点很多时往往容易混淆,不方便后续使用和阅读(编程时命名的重要性)。建议起有意义的名字,除上述带箭头线段 --> 外,还有带箭头虚线线段 .>、 带箭头加粗线段 ==>、不带箭头线段 —
graph TB
Start(开始) --> Open[打开冰箱门]
Open --> Put[把大象放进去]
Put[把大象放进去] --> IsFit{"冰箱小不小?"}
IsFit -->|不小| Close[把冰箱门关上]
Close --> End(结束)
IsFit -->|小| Change[换个大冰箱]
Change --> Open
graph TB
A(MOVE MOTOR) --> B[RAMPMODESET velocity_positive]
B --> C[SET AMAX = 1000, SET VMAX = 100000 OR DIFFERENT VALUE]
C --> D(MOTOR MOVES, CHANGE VMAX AS NEEDED)
graph LR
A[方形] -->B(圆角)
B --> C{条件a}
C -->|a=1| D[结果1]
C -->|a=2| E[结果2]
F[横向流程图]
graph TD
A[方形] --> B(圆角)
B --> C{条件a}
C --> |a=1| D[结果1]
C --> |a=2| E[结果2]
F[竖向流程图]
flowchat
st=>start: 开始框
op=>operation: 处理框
cond=>condition: 判断框(是或否?)
sub1=>subroutine: 子流程
io=>inputoutput: 输入输出框
e=>end: 结束框
st(right)->op(right)->cond
cond(yes)->io(bottom)->e
cond(no)->sub1(right)->op
sequenceDiagram
对象A->>对象B: 对象B你好吗?(请求)
Note right of 对象B: 对象B的描述
Note left of 对象A: 对象A的描述(提示)
对象B-->>对象A: 我很好(响应)
对象A->>对象B: 你真的好吗?