1

I find that stick figures often make great tools for illustrations of organizations. They are understandable, don't crowd the visual space, and clearly represent an individual person.

Ideally, I would like something that created a stick-figure-shaped node, that I could then use to create network diagrams, to represent people. A package would be the best option, but even simple code to do the same, would be great.

  • Do you know 'tikzpeople'? – Ignasi Jul 16 '18 at 17:53
  • A bit more advanced, but tex.stackexchange.com/a/186478/586 might be of interest. – Torbjørn T. Jul 16 '18 at 17:56
  • So I looked at 'tikzpeople' and that is cool, but everything is a little more complex. The simplicity of the stick person is that is instantly recognizable, yet small and easily used. A group of stick figures are exactly and only that, and unmistakable, even at a distance or when small, because they are so frequently used. I may end up going with tikzpeople, ultimately, but it seems odd that something as common as stick people doesn't already have a tikz package, or some such thing. – The Pompitous of Love Jul 16 '18 at 18:28
  • What exactly is a network diagram? – Marijn Jul 16 '18 at 20:56
  • Do you know about tikzsymbols? – cfr Jul 17 '18 at 0:56
10

Just for fun, there is a package {tikzsymbols} you can see the examples in section 21.3 in the visual tikz document, you have the macro \Strichmaxerl[scale]:

RESULT:

enter image description here

MWE:

\documentclass[tikz,border=20pt]{standalone}
\usepackage{tikz}  
\usepackage{tikzsymbols}

\begin{document}
    \begin{tikzpicture}
    \Strichmaxerl[5]
    \end{tikzpicture}
\end{document}

There is another variation of this macro \Strichmaxerl[5][right_arm][left_arm][right_leg][lef_leg] that allows to change the position of the arms and legs.

RESULT:

enter image description here

MWE:

% arara: pdflatex: {synctex: yes, action: nonstopmode}
% arara: animate: {density: 200, delay: 10, other: -background white -alpha remove}
% arara: showanimate
\documentclass[tikz,border=20pt]{standalone}
\usepackage{tikzsymbols}
\usetikzlibrary{backgrounds,decorations.pathreplacing}
\begin{document}
\pagecolor{black}
\foreach \A in {1,2,...,9,8,7,...,1}{
\begin{tikzpicture}
    \Strichmaxerl[5][90+\A*18][-\A*18][-45+\A*5][45-\A*5]
    \begin{scope}[on background layer]
    \fill[white](0,0.75) circle (1.5);
    \draw[
        decorate,
        white,
        decoration={
                waves,
                segment length=pi*6,
                radius=1cm
        }
    ] (0,0.75) circle (1.5);
    \draw[white] node at(0,-2){Stick Bond};
    \end{scope}
\end{tikzpicture}}
\end{document}

PSD: To animate this I use imagemagic converter

5

enter image description here

\documentclass{article}

\begin{document}

\begin{picture}(10,25)(0,-3)
\put(5,18){\circle{5}}
\thicklines
\put(5,7){\line(0,1){8}}
\put(5,7){\line(1,-2){5}}
\put(5,7){\line(-1,-2){5}}
\put(1,12){\line(1,0){8}}
\end{picture}
%
\begin{picture}(10,25)(0,-3)
\put(5,17){\circle{5}}
\thicklines
\put(5,7){\line(0,1){7}}
\put(5,7){\line(1,-2){5}}
\put(5,7){\line(-1,-2){5}}
\put(1,11){\line(1,0){8}}
\put(1.75,1.5){\line(1,0){6}}
\put(2.0,2){\line(1,0){5.5}}
\put(2.25,2.5){\line(1,0){5}}
\put(2.5,3){\line(1,0){4.5}}
\put(2.75,3.5){\line(1,0){4}}
\put(3,4){\line(1,0){3.5}}
\put(3.25,4.5){\line(1,0){3}}
\put(3.5,5){\line(1,0){2.5}}
\put(3.75,5.5){\line(1,0){2}}
\end{picture}
%
\begin{picture}(10,25)(0,-3)
\put(5,6){\circle{2}}

\put(4.5,1){\line(0,-1){4}}
\put(5.5,1){\line(0,-1){4}}

\put(3,3){\line(1,0){4}}
\thicklines
\put(5,1){\line(0,1){4}}
\end{picture}


\end{document}

Almost too lifelike to be called stick figures.

  • It is orishinal. – manooooh Jul 16 '18 at 23:04
  • I'd give bonus points for the humor, if I could. – The Pompitous of Love Jul 17 '18 at 14:42
1

This is what I use in my presentations. It is parametric so that I can place it quite easily by setting \x and \y parameters. Having a population is also easy.

\documentclass[border=3]{standalone}

\usepackage{tikz}
\usetikzlibrary{math}

\begin{document}

% ======================================= V
\newcommand{\stickman}[4]{% \stickman ==== V
    \def\x{#1} % center x
    \def\y{#2} % center y
    \def\r{#3} % radius
    \def\name{#4} % name
    \def\xl{\x-\r} % x left
    \def\xr{\x + \r} % x right
    \def\ya{\y-\r} % body upper
    \def\yb{\ya-\r} % arms
    \def\yc{\yb-\r} % legs
    \def\ybd{\yb-0.5*\r} % arms lower
    \def\ycd{\yc-0.5*\r} % legs lower

    \draw[
        thick, orange
    ]
    (\x, \y) circle (\r) % head
    (\x, \y) node {\name}
    (\x, \ya) -- (\x,\yc) % body
    (\xl, \ybd) -- (\x, \yb) -- (\xr, \ybd) %arms
    (\xl, \ycd) -- (\x, \yc) -- (\xr, \ycd) %arms
    ; %
} % \stickman ==== A
% ======================================= A

% ======================================= V
\begin{tikzpicture}

%   % no name
%   \stickman{3}{3}{1} {}

    % generation
    \stickman{1}{3}{0.4} {a}
    \stickman{1.8}{4.3}{0.4} {b}
    \stickman{3}{4.8}{0.3} {$c_{i}$}
    \stickman{3.1}{2}{0.4} {}
    \stickman{4}{3}{0.5} {}

    % i, j
    \stickman{6}{3}{0.2} {i}
    \stickman{9}{3}{1} {j}

    %
%   \stickman{6}{3}{1}{}
%   \stickman{9}{4}{1}{}
%   \stickman{4.5}{4}{1}{}
\end{tikzpicture}
% ======================================= A

\end{document}```

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.