mermaid
FlowChart
```mermaid
	graph TD
	A-->B
```
方向
- TB 从上到下
 - BT 从下到上
 - RL 从右到左
 - LR 从左到右
 - TD 同 TB
 
基本图形
[带文本的矩形](带文本的圆角矩形)>带文本的不对称的矩形]{带文本的菱形}((带文本的圆形))
如果 节点的文字中包含标点符号,需要时用双引号包裹起来
```mermaid
graph TD
    A[带文本的矩形]
    B(带文本的圆角矩形)
    C>带文本的不对称的矩形]
    D{带文本的菱形}
    E((带文本的圆形))
```
结点间连接
- A --> B A 带箭头指向 B
 - A --- B A 不带箭头指向 B
 - A -.- B A 用虚线指向 B
 - A -.-> B A 用带箭头的虚线指向 B
 - A ==> B A 用加粗的箭头指向 B
 - A -- 描述 --- B A 不带箭头指向 B 并在中间加上文字描述
 - A -- 描述 --> B A 带箭头指向 B 并在中间加上文字描述
 - A -. 描述 .-> B A 用带箭头的虚线指向 B 并在中间加上文字描述
 - A == 描述 ==> B A 用加粗的箭头指向 B 并在中间加上文字描述
 
子流程图
```mermaid
subgraph title
    graph definition
end
```
Demo
```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
```
Class Diagram
```mermaid
	 classDiagram
      Animal <|-- Duck
      Animal <|-- Fish
      Animal <|-- Zebra
      Animal : +int age
      Animal : +String gender
      Animal: +isMammal()
      Animal: +mate()
      class Duck{
          +String beakColor
          +swim()
          +quack()
      }
      class Fish{
          -int sizeInFeet
          -canEat()
      }
      class Zebra{
          +bool is_wild
          +run()
      }
```
定义类
- 使用关键字 
class - 使用关系符 
<|--定义两个类的关系 
classDiagram
    class Animal
    Vehicle <|-- Car