Skip to content

Diagramming tools

Related pages: Data visualization

WYSIWYG Tools

Mathcha editor

draw.io

PowerPoint

Canva

WYSIWYM Tools

PGF/TikZ

PGF is a lower-level language, while TikZ is a set of higher-level macros that use PGF.

Documentation:

References:

It's a good idea to create an Overleaf project dedicated to previewing TikZ diagrams.

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{% TikZ libraries ----
    %
}
\tikzset{% TikZ global settings ----
    %
}
\begin{document}
\begin{tikzpicture}

% Replace with your TikZ code
\node (tikz) [draw, circle, thick, fill=gray]
    {Ti\textit{k}Z};

\end{tikzpicture}
\end{document}

Mermaid

Mermaid:

Mermaid online editor:

Mermaid integrations:

Diagram types and examples

General flowcharts

\documentclass{standalone}

\usepackage{tikz}
\usetikzlibrary{
    positioning
}
\tikzset{
>=stealth,
node distance = 10mm and 10mm,
box/.style={
    draw, rectangle, rounded corners, semithick,
    minimum height=2em, text width=9.8em, 
    align = center, fill = white
},
}

\begin{document}
\begin{tikzpicture}

% Row 0
\node[box] (box0;)  
    {\textbf{This is a box0;}};

% Row -1
\node[box] (box-1;) [above=of box0;]
    {This is a box-1;};

% Row 1
\node[box] (box1;) [below=of box0;]
    {This is box1;};

% Row 2
\node[box] (box2;-1) [below left=of box1;]   
    {This is a box2;-1};
\node[box] (box2;) [below=of box1;]
    {This is a box2;};
\node[box] (box2;1) [below right=of box1;]   
    {This is a box2;1};

% Row 3
\node[box] (box3;) [below=of box2;]
    {This is a box3;};

% Row 4
\node[box] (box4;) [below=of box3;]
    {This is a box4;};

\foreach \a/\b in {
% Row (-1)-0
box-1;/box0;,
% Row 0-1
box0;/box1;,
% Row 1-2
box1;/box2;-1, box1;/box2;, box1;/box2;1,
% Row 2-3
box2;-1/box3;, box2;/box3;, box2;1/box3;,
% Row 3-4
box3;/box4;%
}
\draw[->] (\a) -- (\b);

\end{tikzpicture}
\end{document}
graph LR
  A[Start] --> B{Error?};
  B -->|Yes| C[Hmm...];
  C --> D[Debug];
  D --> B;
  B ---->|No| E[Yay!];
graph LR
  A[Start] --> B{Error?};
  B -->|Yes| C[Hmm...];
  C --> D[Debug];
  D --> B;
  B ---->|No| E[Yay!];

Causal diagrams

TBD

flowchart LR
  Z --> X --> Y
  C --> X
  C --> Y

Experimental design diagrams

Decision trees

TBD

Theoretical diagrams

TBD