Shapes
graph TD;
A-->B;
A-->C;
A-->D;
B-->D;
A-->|Link text|B
classDef default fill:#9f6,stroke:#333,stroke-width:2px;
classDef green fill:#9f6,stroke:#333,stroke-width:2px;
class green B;
Sub graphs
graph TB
subgraph
sq[Square shape] --> ci((Circle shape))
od>Odd shape]-- Two line
edge comment --> ro
di{Diamond with
line break} --> ro(Rounded
square
shape)
di-->ro2(Rounded square shape)
end
%% Notice that no text in shape are added here instead that is appended further down
subgraph
e --> od3>Really long text with linebreak
in an Odd shape]
e((Inner / circle
and some odd
special characters)) --> f(,.?!+-*ز)
cyr[Cyrillic]-->cyr2((Circle shape Начало))
end
classDef green fill:#9f6,stroke:#333,stroke-width:2px;
classDef orange fill:#f96,stroke:#333,stroke-width:4px,font-size:50%,font-style:bold;
class sq,e green
class di orange
graph TB
subgraph
sq[Square shape]-->ci((Circle shape))
od>Odd shape]---|Two line
edge comment|ro
end
subgraph
od2>Really long text in an Odd shape]-->od3>Really long text with linebreak
in an Odd shape];
di{Diamond is
broken}-->ro(Rounded
square
shape);
di-->ro2(Rounded square shape)
end
%% Comments after double percent signs
subgraph
e((Inner / circle))-->f(,.?!+-*ز);
cyr[Cyrillic]-->cyr2((Circle shape Начало));
A[Object foo,bar]-->B(Thing)
end
style e red;
classDef green fill:#9f6,stroke:#333,stroke-width:2px;
class green sq
graph LR;
A(Central Message Router);
B(R TD);
C(XYZ);
D(S Writer);
A-->|R TD Router|B;
B-->C;
C-->|XYZ Router|D;
Sequence diagrams (experimental)
sequenceDiagram
participant John the Long
Alice->Bob: Hello Bob, how are you?
Note left of Bob: Bob thinks
Bob-->Alice: I am good thanks!
Bob-->John the Long: How about you John?
Note left of John the Long: Bob thinks
Bob-->Alice: Checking with John...
loop Multiple status checks
loog Naging
Alice->John the Long: Yes... John, how are you?
end
John the Long-->Alice: Better then you!
end
sequenceDiagram
participant Alice
Note left of Alice: Bob thinks about
things
to think about
sequenceDiagram
participant Alice
participant Bob
participant John
Alice->>Bob: Hello Bob, how are you?
Note left of Alice: Bob thinks about
things
to think about
Bob-->>Alice: I am good thanks!
loop Multiple status checks
Bob--xJohn: How about you John?
Note right of John: Bob thinks
end
Bob--xAlice: Checking with John...
Alice->John the Long: Yes... John, how are you?
John the Long-->Alice: Better then you!!
graph LR;
A[Start]-->B{a = '1,2'}
B-->|True|C[test = 1]
B-->|False|Z[Store]
C-->D{condition};
D-->|True|E[test = 2];
D-->|False|F[test = 3];
E-->G{condition2 = ''};
F-->G;
G-->|True|H[test = 4];
G-->|False|I[test = 5];
H-->J{condition3};
I-->J;
J-->|True|K[test = 6];
J-->|False|L;
K-->L[Print];
L-->M[Any Action];
M-->N[Any Other Action];
N-->Z;
Dot syntax (experimental)
digraph
{
a -> b -> c -- d -> e;
a -- e;
}
digraph
{
a -> b -> c -- d -> e;
a -- e;
}